[问题] Windows API侦测 user有在操作的方法

楼主: Clangpp (Clang++)   2016-03-09 10:32:43
小弟目前工作上有个小需求,我们的程式希望能够在使用者不动作之后开始倒数计时
登出帐号
目前的想法是监控 WM_LBUTTONUP, WM_RBUTTONUP以及WM_MOUSEMOVE
等鼠标还有键盘的event
但是好像都是只在程式的视窗本身的侦测?? 如果程式缩到系统列后就侦测不到了??
想请问是不是要用Hook的方式去抓global的鼠标跟键盘的event??
作者: flydragon198 (Richard)   2016-03-09 10:35:00
让我想到萤幕保护程式,不知道有没有现成程式码可看
作者: petercoin (彼得币)   2016-03-09 11:12:00
SetWindowsHookEx(WH_MOUSE_LL, LowLevelMouseProc,GetModuleHandle(NULL), 0); 我是这样抓global mouseeventhttp://ideone.com/Xi3cV7 大概是这样我只抓鼠标左键程式缩小一样可以继续抓鼠标event
作者: TeaEEE (爱不趴 不爱趴)   2016-03-09 13:24:00
Screensave可以透过WM_SYSCOMMAND抓到
作者: stupid0319 (征女友)   2016-03-09 15:24:00
直接记录鼠标座标就好了
作者: freaky (jon)   2016-03-10 03:18:00
current user: GetLastInputInfo()system-wide: CallNtPowerInformation()hook能免则免,个人觉得烂程式才喜欢乱hook
作者: petercoin (彼得币)   2016-03-10 09:44:00
话说要做鼠标点击有BEEP声除了hook之外还有其他方法吗
作者: freaky (jon)   2016-03-10 22:36:00
没有,但是对大部份人而言不会想要程式这样搞
作者: petercoin (彼得币)   2016-03-10 23:54:00
主要是效能上的考量吗?
作者: freaky (jon)   2016-03-11 01:10:00
hook确实会影响效能,不过UI设计问题比较大,令人困扰
作者: petercoin (彼得币)   2016-03-11 08:53:00
喔喔!原来主要影响是在UI,这我倒是没想过,谢谢你的分享
作者: ggteryaaa (Justin)   2016-03-12 02:27:00
用callback侦测键盘鼠标的message

Links booklink

Contact Us: admin [ a t ] ucptt.com