代码基本完成,但功能上有些问题,问题描述如下:1.主程序为一对话框,在对话框中加载DLL安装鼠标键盘钩子,设置注销时间 TT;
2.在DLL中设置全局鼠标键盘钩子,钩子函数一有消息就刷新时间变量 Time;
3.创建一个线程监视Time值变化,如当前时间减去Time超过预设时间,就向主程序发送自定义消息
4.主程序接到消息后自动注销自身出现问题地方:
钩子函数中刷新时间:Time = clock();
线程中监视时间:if(clock() - Time > TT) PostMessage(WM_MSG, 0, 0);
当主程序获得焦点时:在线程中读取Time值正确,鼠标键盘TT时间不用后自动注销主程序。
当主程序失去焦点时:在线程中读取Time值为0,无论鼠标键盘是否使用都在TT时间后注销主程序。求各位帮帮忙,给点意见!!!
最好是留个信箱,我把程序发过去,帮我调调!!
谢谢各位!!

解决方案 »

  1.   

    设置共享数据了 Time 为共享数据
    visualassist4680,你做过啊,给我留个mail吧 我给你发代码,你帮我看看,我现在很郁闷,弄不明白是怎么回事!
      

  2.   

    共享变量必须初始化,否则无效。另外,建议你改用WH_KEYBOARD_LL和WH_MOUSE_LL,这种方式不需要注入到其它进程,所以可以不用DLL、不涉及进程间通讯、安全软件一般也不会报警……
      

  3.   

    如果你只是要检测输入空闲时间,用GetLastInputInfo即可,不用SetWindowsHookEx。
      

  4.   

    就是。
    http://hi.baidu.com/tr0j4n/blog/item/aca27611710b33f5c3ce792a.html