全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1490
推到 Plurk!
推到 Facebook!

請問怎麼查WM_的資訊?

尚未結案
csf0427
一般會員


發表:6
回覆:8
積分:2
註冊:2004-07-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-29 14:27:48 IP:140.130.xxx.xxx 未訂閱
看了一些有關HOOK的文,感覺使用上好像很方便,不過遇到一個問題: 我怎麼知道windows使用的message是哪一個? 例如滑鼠移動有看到是WM_MOUSEMOVE,但送出封包是哪一個? 接收封包又是哪一個? 請教各位高手,這些WM_開頭的資訊在哪裏可以查得到?謝謝
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-30 09:37:35 IP:203.70.xxx.xxx 未訂閱
csf0427您好 如Visual Studio .NET附的Spy++或BCB5.0附的WinSight32都是可以辦到的... 請您先試試看吧 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-30 11:43:26 IP:202.104.xxx.xxx 未訂閱
csf0427:你也可以參考 http://www.csdn.net/cnshare/soft/16/16479.shtm 查詢 Windows Message 的DLL 作者:icansaymyabc http://www.ai361.com/code/mfcb.htm 《跟我學MFC教程》的附屬品-消息機制 作者:雷神 主頁:http://www.ai361.com 郵件:lsmodel@ai361.com 請參考! Andy Chang
------
Andy Chang
csf0427
一般會員


發表:6
回覆:8
積分:2
註冊:2004-07-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-30 16:23:43 IP:140.130.xxx.xxx 未訂閱
嗯...我試過WinSight32了,不過它好像只能看到送出什麼message,卻看不到收到的,對不對?還是我漏掉哪個功能了?
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-30 17:54:39 IP:203.70.xxx.xxx 未訂閱
csf0427您好 不懂您的"送出"與"接收"意思,假設有Button1,Button2,當FOCUS在Button1時,  
 void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Button2->SetFocus();
}
時,會看到WM_SETCURSOR送給Button2,WM_KILLFOCUS送給Button1... 您所謂看不到收到的,是指什麼情形呢? 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
csf0427
一般會員


發表:6
回覆:8
積分:2
註冊:2004-07-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-08-30 22:45:28 IP:140.130.xxx.xxx 未訂閱
我指的"送出"和"接收"的意思,是例如我設定Hook後,由Hook送一個WM_COPYDATA的message給主程式,那麼WinSight32是可以看到Hook"送出"WM_COPYDATA(內容好像也會列出來),但問題是主程式如果也用WinSight32來監看的話,這時主程式是不是應該要"接收"WM_COPYDATA的message?可是我看到WinSight32顯示的message,都是sent的... ...有點懷疑可能是我對Windows的message觀念有問題,所以想不通...QQ 發表人 - csf0427 於 2004/08/30 22:49:18
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-08-31 10:18:37 IP:203.70.xxx.xxx 未訂閱
csf0427您好 我的情形是從一個程式A發WM_COPYDATA給另一個程式B,抓到的訊息是    {B的Caption} WM_COPYDATA Sent From hwnd A的Handle Data資訊... 所以發送跟接收的視窗都有?? 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
csf0427
一般會員


發表:6
回覆:8
積分:2
註冊:2004-07-26

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-08-31 15:06:36 IP:140.130.xxx.xxx 未訂閱
找到了,果然有Sent from xxx的訊息,感謝大大指點 再多問一下...(會不會問太多了 ^^") 我在HOOK的範例中看到,攔截滑鼠用的是 SetWindowsHookEx(WH_MOUSE, (HOOKPROC)MouseProc, ghInst, 0) 攔截鍵盤用的是 SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)KeyboardProc, inst, 0) 請教怎麼用這些 WH_ 字頭的東東? 如果我要攔截的message是WM_COPYDATA或是WM_GETTEXT,那我在SetWindowsHookEx中用的"WH_"要用什麼東西丫? 另外,請問是不是所有WM_開頭的message都可以用HOOK攔截? 再次感謝大大賜教,謝謝 ^^
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-08-31 17:32:56 IP:203.70.xxx.xxx 未訂閱
csf0427您好 真抱歉,小弟對Hooks也只有看過相關的文章,並沒有實際操作的經驗, 因此無法給您建議...    不好意思 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
系統時間:2024-04-29 10:55:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!