检测鼠标键盘状态 ( 积分: 100 )

  • 主题发起人 主题发起人 nethero
  • 开始时间 开始时间
N

nethero

Unregistered / Unconfirmed
GUEST, unregistred user!
目的:定时(比如10秒),如果没有鼠标键盘动作则播放FLASH,一旦检测到鼠标键盘动作或者串口有数据,则恢复到主窗口(类似屏保程序)。
我搞了一下但都不理想,特向各位兄弟请教!100分交点学费,呵呵
 
处理Application.OnIdle事件
 
楼上老兄,我是用消息的方法。你能否给个成功实现此功能的例程?谢谢
 
用钩子吧 弄个键盘鼠标钩子 里面设个flag 有消息进来的时候就把flag设为false 不让flash播放 没有就true
 
function LastInput: DWord;
var
LInput: TLastInputInfo;
begin
LInput.cbSize := SizeOf(TLastInputInfo);
GetLastInputInfo(LInput);
Result := GetTickCount - LInput.dwTime;
end;

然后弄个定时器

procedure TForm1.Timer1Timer(Sender: TObject);
var
Llast: Cardinal;
begin
Llast := LastInput;
if Llast >=10 * 1000 100 then begin
try
// 提示已经有10秒没动键盘和鼠标了
except
end;
end;
end;
 
谢谢mmzmagic,不过全屏播放FLASH后,有了键盘或鼠标消息,该如何让FLASH停止播放并隐藏?代码加在哪里比较合适?
 
谢谢各位的热心解答。
我已解决问题了。
 

Similar threads

后退
顶部