有关关闭定时器的消息
SendMessage(Form1->Handle, WM_TIMER, 2, NULL);启动另外一个窗体的定时器消息,现在想问大家关闭此定时器的消息怎么用SendMessage写。
谢谢
[解决办法]
像这样使用的话,最好使用自定义消息,不要使用WM_TIMER,
比如,定义自定义消息:
#define WM_START_TIMER WM_USER+1
#define WM_STOP_TIMER WM_USER+2
在接收消息的窗口里截获这两个消息,做相应的处理即可。
[解决办法]
SendMessage(Form1->Handle, WM_TIMER, 2, NULL)
你这个2实际上指的是 id为2的计时器,用这个id关闭定时器即可。
在你的窗口过程中
UINT idTimer;
switch( Message.msg )
{
case WM_TIMER:
idTimer = Message.WParam;
KillTimer( NULL , idTimer );
break;
}
[解决办法]
你的Form1中应该有响应启动定时器的消息函数吧?所以SendMessage才会启动定时器;
但是若关闭定时器的话,你看看哪里有进行设置,然后调用这个关闭函数就好了
[解决办法]
WM_TIMER只是定时器消息,并不是启动定时器吧?
你发一个WM_TIMER消息,对方的程序收到后,正常情况下,应当只是当成一个普通的定时器消息处理掉了
也许你们之间有自定义的消息,或在消息的附加参数上有约定,可以控制定时器的启动和关闭,但这是你们的内部约定,应该去问程序的开发者,在这里是问不出来的