[問題] 一直抓不到滑鼠滾輪的變化量

看板C_and_CPP作者 (低調中....)時間15年前 (2010/12/02 17:32), 編輯推噓1(108)
留言9則, 2人參與, 最新討論串1/1
快瘋了... 很奇怪的問題... 我在BCB下寫了一個hook要去處理攔截的滑鼠事件: 處理的function大概長這樣 LRESULT CALLBACK proc_mouse (int code, WPARAM w, LPARAM l){ if(code < 0) return 1; switch(w) { case WM_LBUTTONDOWN: /*偵測按下滑鼠左鍵 */ break; case WM_LBUTTONUP: /* 偵測放開下滑鼠左鍵 */ break; case WM_RBUTTONDOWN: /*偵測按下滑鼠右鍵*/ break; case WM_RBUTTONUP: /*偵測按下滑鼠左鍵*/ break; case WM_MOUSEMOVE: /*滑鼠移動中*/ break; case VM_MOUSEWHEEL: /*偵測是否有滾輪移動*/ //想要得到滾輪移動的變化量 int Delta = GET_WHEEL__DELTA_WPARAM(w); //或者寫成 Delta = HIWORD(w); break; } return 1; } Compile 後完全沒有錯誤, 並且可以執行,而且滑鼠按下,移動,滾動的訊號都可以偵測到 測試過的確VM_MOUSEWHEEL偵測得到,但是Delta都一直是零, 我爬文過的結果似乎別人都這樣寫的沒問題... ,想請問板上的大大如何解決,感謝!! 我的執行環境是: BCB C++ 6, windows7 64-bit -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.101.191 ※ 編輯: ColdFunction 來自: 163.25.101.191 (12/02 17:35) ※ 編輯: ColdFunction 來自: 163.25.101.191 (12/02 17:35) ※ 編輯: ColdFunction 來自: 163.25.101.191 (12/02 17:36)

12/02 23:29, , 1F
我猜你大概需要這個…
12/02 23:29, 1F

12/02 23:32, , 3F
看lParam那有個MSLLHOOKSTRUCT,裡面有個mouseData
12/02 23:32, 3F

12/02 23:35, , 4F
順帶一提,你是不是少了CallNextHookEx之類的?
12/02 23:35, 4F

12/05 19:02, , 5F
我是故意不要用CallNextHookEx的... 因為我要把訊號
12/05 19:02, 5F

12/05 19:04, , 6F
截斷的關係...感謝大大,我再試一下這個mouseData好了
12/05 19:04, 6F

12/05 19:56, , 7F
之後發現有錯誤... compile 說我的mouseData不是
12/05 19:56, 7F

12/05 19:57, , 8F
tagMOUSEHOOKSTRUCT的member...
12/05 19:57, 8F

12/05 20:05, , 9F
阿~ 沒事... 搞錯... 是MSLLHOOKSTRUCT
12/05 20:05, 9F
文章代碼(AID): #1CzsUziu (C_and_CPP)