A alan stephen Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-09 #1 希望大家踊跃回答:<br> 有这样一个需求,执行一个应用程序之后,如果在一段时间内没有键盘或者鼠标的操作,<br>程序就被锁定,当有键盘或者鼠标操作后通过输入密码来解锁!在这段时间内如果干别的<br>事情(比如玩扫雷),那么时间到了程序还是要被锁定,有哪位世外高人可以给予指点,在<br>下感激涕零
希望大家踊跃回答:<br> 有这样一个需求,执行一个应用程序之后,如果在一段时间内没有键盘或者鼠标的操作,<br>程序就被锁定,当有键盘或者鼠标操作后通过输入密码来解锁!在这段时间内如果干别的<br>事情(比如玩扫雷),那么时间到了程序还是要被锁定,有哪位世外高人可以给予指点,在<br>下感激涕零
A ajian8185 Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-09 #3 首先定时器是需要的<br>如果窗口的焦点失去了,就启动定时器,到达设定的时间就执行:<br>if 窗口得到焦点 then 先把主窗体隐藏然后弹出警告窗体要求输入密码<br>很简单吧?
飘 飘摇客 Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-09 #4 需要用到Hook和定时器,检测系统消息,但是如果除去玩游戏的话,比较难。
Y yxjdelphi Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-09 #5 去玩游戏时,本程序不是不active啦么,此时计时不就行么,有人有codes么??<br><br>学學
A alan stephen Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-10 #6 var islock: boolean;<br>procedure TForm1.FormCreate(Sender: TObject);<br>begin<br> islock := false;<br> Application.HookMainWindow(LockApplication);<br>end;<br><br>procedure TForm1.FormDestroy(Sender: TObject);<br>begin<br> Application.UnhookMainWindow(LockApplication);<br>end;<br><br>function TForm1.LockApplication(var Message: TMessage): boolean;<br>begin<br> result := false;<br> if (Message.Msg = WM_KEYDOWN) or (Message.Msg = WM_MBUTTONDOWN)<br> or (Message.Msg = WM_MOUSEMOVE) then<br> begin<br> if not islock then<br> begin<br> Timer1.Enabled := false;<br> Timer1.Enabled := true;<br> end<br> else<br> //弹出锁定窗体<br> end;<br>end;<br><br>procedure TForm1.Timer1Timer(Sender: TObject);<br>begin<br> islock := true;<br>end;<br>现在的问题是如果是键盘消息的话没有问题,可是鼠标消息捕捉不到,为何?
var islock: boolean;<br>procedure TForm1.FormCreate(Sender: TObject);<br>begin<br> islock := false;<br> Application.HookMainWindow(LockApplication);<br>end;<br><br>procedure TForm1.FormDestroy(Sender: TObject);<br>begin<br> Application.UnhookMainWindow(LockApplication);<br>end;<br><br>function TForm1.LockApplication(var Message: TMessage): boolean;<br>begin<br> result := false;<br> if (Message.Msg = WM_KEYDOWN) or (Message.Msg = WM_MBUTTONDOWN)<br> or (Message.Msg = WM_MOUSEMOVE) then<br> begin<br> if not islock then<br> begin<br> Timer1.Enabled := false;<br> Timer1.Enabled := true;<br> end<br> else<br> //弹出锁定窗体<br> end;<br>end;<br><br>procedure TForm1.Timer1Timer(Sender: TObject);<br>begin<br> islock := true;<br>end;<br>现在的问题是如果是键盘消息的话没有问题,可是鼠标消息捕捉不到,为何?
A alan stephen Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-13 #7 你们这些来大富翁论坛的都是一坨屎呀?这么简单的问题都解决不了,还不如去死呢!<br>要不要我指导你们呀?需要的话给我来句话!
盛 盛利 Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-13 #8 if 程序有焦点 then<br> if 鼠标不动,键盘没有输入 一定时间 then<br> 锁定<br>else <br> if 一定时间 then<br> 锁定
if 程序有焦点 then<br> if 鼠标不动,键盘没有输入 一定时间 then<br> 锁定<br>else <br> if 一定时间 then<br> 锁定
X xiao_min Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-13 #9 "你们这些来大富翁论坛的都是一坨屎呀?这么简单的问题都解决不了,还不如去死呢!<br>要不要我指导你们呀?需要的话给我来句话"<br>我这里有代码,可是我看到这样的话,就不想发了
A alan stephen Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-14 #10 盛利是一个啥都不懂的傻屄,你根本就不懂编程还到这里来现世,看看你写的都是一些什么<br>狗屎,哈哈哈哈哈哈哈哈哈!!!!!!!!!!!!!!!!!!!!