線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2561
推到 Plurk!
推到 Facebook!

請問要捕獲 WM_COMMAND,需要使用何種類型的 HOOK

缺席
linly
一般會員


發表:42
回覆:37
積分:15
註冊:2007-10-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-10-20 10:59:28 IP:140.113.xxx.xxx 訂閱
您好!!!
由於 HOOK 有 15 種類型,而我目前想要攔截的是,WM_COMMAND 這種訊息,那我應該要使用哪一種的 HOOK,我指的是 SetWindowHookEx 中的第一個參數應該要設定成什麼?
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-10-20 19:28:46 IP:61.64.xxx.xxx 訂閱
你應該是思考
1. 我要做什麼,要 Hook 的是那個分類,鍵盤?滑鼠?或是其他?
2. 再來,處理你要的作業 WM_COMMAND 可以在 Hook 上後,直接抓取 Message 系統來處理
所以簡單的話,是先建立鍵盤與滑鼠 Hook ,目的是讓你的程式載入
再用 Procedure xxxx : Message on WM_COMMAND 來處理,或是要直接抓取 WinProc 都可以,端看你要在那個點切入 Message 系統

Hook 的目的,只有一種,就是讓你的程式載入該行程的執行空間
一旦載入,要如何做,就是你的自由囉!

所以基本上, 15 種,選一種一定會讓程式載入的,即可
就是說如果有一個程式,不會用到鍵盤,哪你要是只使用 KeyBoard Hook ,那程式將沒有機會被執行,這樣寫什麼程式碼都沒用

===================引 用 linly 文 章===================
您好!!!
由於 HOOK 有 15 種類型,而我目前想要攔截的是,WM_COMMAND 這種訊息,那我應該要使用哪一種的 HOOK,我指的是 SetWindowHookEx 中的第一個參數應該要設定成什麼?
linly
一般會員


發表:42
回覆:37
積分:15
註冊:2007-10-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-10-21 11:58:14 IP:218.168.xxx.xxx 訂閱
HI~ 謝謝你的答覆:
其實你說的我都清楚,的確沒有仔細想過就PO文章!!!給你添麻煩花時間回覆給我,不過自己也 trial and error 太多次,網頁上找到的常常是支離破碎的內容,現在就連想 SetWindowHookEx 都會發生 "存取被拒" 的錯誤訊息,那最後可否再麻煩您一次,有沒有什麼網頁有較健全的 Hook 教學,我只要 Local Hook,當滑鼠在被我 Hook 的應用程式中移動,移動到某些我期望的位置,我就可以處理我要做的部份。
另外,我想請教您一下,假設線在滑鼠游標在 Menu 中的檔案,要點選 "檔案->列印",那這些動作大概就是 WM_LBUTTONDOWN、WM_LBUTTONUP、WM_MOUSEMOVE、WM_COMMAND 這些吧?因為我用 Spy 去觀看,還有很多看不懂的訊息。

--
其實,我只是想要利用一層介面,藉由對介面的操作,來間接地操作應用程式,算是一個模擬的行為吧
系統時間:2024-04-25 9:20:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!