請問有關GetMessage與PostMessage的關係 |
尚未結案
|
snh
一般會員 發表:5 回覆:7 積分:2 註冊:2002-09-30 發送簡訊給我 |
大家好
我最近在作遠端遙控的功能
去抓了VNC的Source code回來研究
並試著在BCB上實作
但當我將其中的vnchook改至BCB中時
雖然能攔截到該攔截的message 但是我在使用GetMessage收我本身自訂的message時
會收到一些不像是hook中所post過來的
而且我get到的數量比我post出了數量還多的多
因為在bcb中dll檔很難去trace所以我是用寫的的方式
比對所Postc和Get到的Msg 我想請問當我在一個dll中post一我自行定義的message像WM_USER
那是不是我post多少就會get多少呢?
還是說這是BCB的問題
因為本來vnc是在VC下寫的... 因為code有點多不方便po上來
有興趣的人可以來這抓
ftp://140.113.186.175/vncHook.rar 另外有人有做過這方面(遠端遙控)的作品嗎
可否稍微講一下做法 謝謝
|
lcsboy
版主 發表:87 回覆:622 積分:394 註冊:2002-06-18 發送簡訊給我 |
|
snh
一般會員 發表:5 回覆:7 積分:2 註冊:2002-09-30 發送簡訊給我 |
恩...
我是已經有使用Spy 確定過
才發現到的
而且我在每次要postmessage前就會先把該message及其參數寫至一個檔案A中
然後在收到(getmessage)時同樣的將所收到的message及其參數寫至
另一個檔案B中
最後再比對兩個檔案 可是往往A中的數目會小於B
這就是我所感到奇怪的地方
為什麼我自己定的message:如 WM_SNH = WM_USER;
不是應該我自行POST多少就應該收到多少嗎?
還是因為是HOOK的關係? 另外想請問bcb到底要怎麼設定才能在寫dll也能trace...
我知道要用 Run|Parameters 選Host Application使用該DLL的程式
可是他卻不太理我>.<
只成功過幾次
是有什麼使用上的限制嗎?
還是Host Application下的Parameters也要輸入什麼?
沒辦法trace真討厭
|
lcsboy
版主 發表:87 回覆:622 積分:394 註冊:2002-06-18 發送簡訊給我 |
喔~ 我知道你的debug 方式, 很不錯喔~ 寫到兩個檔案再去比
不過以你的結果, 我想到一個可能性~
那就是丟出去的Message不一定就會收到一樣的Message! 怎麼說呢? 比如系統收到一個按鍵, 除了WM_KEYDOWN以外, 還會觸發WM_CHAR
以此類推~~~ 所以有些Message可能會觸發不同的Message, 造成你的A比B還小
因此你只要想辦法去濾掉你要的Message就好了, 這樣的回答不怎麼好, 希望
在觀念上有一些啟發 至於debug dll, 請參閱:
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25837
|
snh
一般會員 發表:5 回覆:7 積分:2 註冊:2002-09-30 發送簡訊給我 |
|
anpino
版主 發表:31 回覆:477 積分:231 註冊:2003-01-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |