[問題] 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