[問題] Windows API偵測 user有在操作的方法

看板C_and_CPP作者 (Clang++)時間9年前 (2016/03/09 10:32), 編輯推噓1(1017)
留言18則, 6人參與, 最新討論串1/1
小弟目前工作上有個小需求,我們的程式希望能夠在使用者不動作之後開始倒數計時 登出帳號 目前的想法是監控 WM_LBUTTONUP, WM_RBUTTONUP以及WM_MOUSEMOVE 等滑鼠還有鍵盤的event 但是好像都是只在程式的視窗本身的偵測?? 如果程式縮到系統列後就偵測不到了?? 想請問是不是要用Hook的方式去抓global的滑鼠跟鍵盤的event?? -- 法老就預備他的車輛,帶領軍兵同去。埃及人追趕他們,法老一切的戰車就在他們安營 的地方追上了。他們對摩西說:你把我們帶來死在曠野嗎?你為甚麼這樣待我們,將我 們從埃及領出來呢?摩西向天空伸出無線電天線呼叫空中打擊,耶和華便用以色列空軍 F-16攜帶近接空中支援彈藥出擊。呼嘯而過的戰機在一小時內癱瘓了法老的戰車,連一 個也沒有賸下。以色列人看見埃及人的死屍都在海邊了。就敬畏耶和華、又信服他和他 的僕人摩西 。 《舊約聖經‧出埃及記‧14章》 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.124.167.226 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1457490766.A.232.html

03/09 10:35, , 1F
讓我想到螢幕保護程式,不知道有沒有現成程式碼可看
03/09 10:35, 1F

03/09 11:12, , 2F
SetWindowsHookEx(WH_MOUSE_LL, LowLevelMouseProc,
03/09 11:12, 2F

03/09 11:13, , 3F
GetModuleHandle(NULL), 0); 我是這樣抓global mouse
03/09 11:13, 3F

03/09 11:13, , 4F
event
03/09 11:13, 4F

03/09 11:20, , 5F
http://ideone.com/Xi3cV7 大概是這樣
03/09 11:20, 5F

03/09 11:21, , 6F
我只抓滑鼠左鍵
03/09 11:21, 6F

03/09 11:22, , 7F
程式縮小一樣可以繼續抓滑鼠event
03/09 11:22, 7F

03/09 13:24, , 8F
Screensave可以透過WM_SYSCOMMAND抓到
03/09 13:24, 8F

03/09 15:24, , 9F
直接記錄滑鼠座標就好了
03/09 15:24, 9F

03/10 03:18, , 10F
current user: GetLastInputInfo()
03/10 03:18, 10F

03/10 03:19, , 11F
system-wide: CallNtPowerInformation()
03/10 03:19, 11F

03/10 03:19, , 12F
hook能免則免,個人覺得爛程式才喜歡亂hook
03/10 03:19, 12F

03/10 09:44, , 13F
話說要做滑鼠點擊有BEEP聲除了hook之外還有其他方法嗎
03/10 09:44, 13F

03/10 22:36, , 14F
沒有,但是對大部份人而言不會想要程式這樣搞
03/10 22:36, 14F

03/10 23:54, , 15F
主要是效能上的考量嗎?
03/10 23:54, 15F

03/11 01:10, , 16F
hook確實會影響效能,不過UI設計問題比較大,令人困擾
03/11 01:10, 16F

03/11 08:53, , 17F
喔喔!原來主要影響是在UI,這我倒是沒想過,謝謝你的分享
03/11 08:53, 17F

03/12 02:27, , 18F
用callback偵測鍵盤滑鼠的message
03/12 02:27, 18F
文章代碼(AID): #1MtujE8o (C_and_CPP)