我在主窗口中的onCreate事件中写:
Application.onMessage:=myMessage;
在myMessage中进行判断:
if msg.Message=WM_KEYDOWN or msg.Message=WM_MOUSEMOVE then
Label1.Caption:=DatetimetoStr(now);最后发现即使我没有移动鼠标和敲击键盘,他还是会每隔6秒进行刷新Label1的内容!为什么呢,为什么它会获得WM_KEYDOWN 和WM_MOUSEMOVE 这两个消息呢,我要获得最后一次的操作时间应该怎么做呢
Application.onMessage:=myMessage;
在myMessage中进行判断:
if msg.Message=WM_KEYDOWN or msg.Message=WM_MOUSEMOVE then
Label1.Caption:=DatetimetoStr(now);最后发现即使我没有移动鼠标和敲击键盘,他还是会每隔6秒进行刷新Label1的内容!为什么呢,为什么它会获得WM_KEYDOWN 和WM_MOUSEMOVE 这两个消息呢,我要获得最后一次的操作时间应该怎么做呢
我不操作,就不出错的.
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
Label1: TLabel;
procedure FormClick(Sender: TObject);
private
procedure myMessage(var Msg: TMsg; var Handled: Boolean);
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}
procedure TForm1.FormClick(Sender: TObject);
begin
Application.onMessage:=myMessage;
end;procedure TForm1.myMessage(var Msg: TMsg; var Handled: Boolean);
begin
if (msg.Message=WM_KEYDOWN) or (msg.Message=WM_MOUSEMOVE) then
Label1.Caption:=DatetimetoStr(now);
end;end.