没有响应函数,而是消息,点击鼠标以后,系统扑捉到消息然后传递给应用程序的消息处理函数,消息处理函数,根据switch语句进行判断,在相应的case下自己编写函数。 switch(msg) { case:WM_LBUTTONDOWN 自己编写的函数或语句
创新互联建站是一家集网站建设,六盘水企业网站建设,六盘水品牌网站建设,网站定制,六盘水网站建设报价,网络营销,网络优化,六盘水网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
Windows
窗体程序是基于消息机制的,所有控件,它的本质都是一个窗体,都是使用
CreateWindows
函数来创建,不过类名,则需要指定为系统预先注册的控件类,比如,你要创建一个按钮控件,就要这样子
CreateWindows(
"BUTTON",
"按钮标题"
),CreateWindows
这个函数你应该用了不少了吧,其余的参数可以参考
MSDN,但是类名我们指定了
“BUTTON”,说明我们要创建一个按钮,每个按钮都有一个唯一的
ID,通过你的消息处理函数,可以知道哪个按钮发生了什么事件,详细讲的话,非常多,你可以参考
MSDN,或者《Windows
程序设计》这本书
。
可以通过内嵌汇编来做,先把文件转成汇编文件,看一下编译器是怎么搞的。
gcc
-S
sss.c。
比如在X86上从function2来看,8(%ebp)是第一个参数,
12(%ebp)是第二个参数。大于12以上的就跑到function1的变量堆栈里面去了。之后根据function1里面的汇编代码找到a值(因为变量不一定是对齐放在堆栈里面的)。
也可以不用上面那样搞,突然想到还有一种更通用的方法,在进行function2调用前,使用内嵌汇编把a
push进去,之后在function2中通过16(%ebp)就可以访问获得。
function1()
{
var
a;
....
__asm__
__volatile__(
"pushl
%1"
:"r"(a)
);
function2();
}
function2()
{
....
var
a
__asm__
__volatile__(
"movl
16(%%ebp),
%0"
:
"=r"(a)
);
/*a已经获取到了*/
....
}
可能不是你最想要的,但是可以大致满足你的要求。
另外还可以借助DOS的at命令进行计划任务。
#include stdio.h
#include conio.h
#include time.h
#include dos.h
main()
{
int HourWant=22;
int MinWant=31;
/*22点31分输出信息*/
struct time t;
while(1)
{
gettime(t);
if (t.ti_hour==HourWant t.ti_min==MinWant)
{
printf("time is up.");
break;
}
sleep(1); /*Delay for 1 second*/
}
getch();
}