G goubo Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-25 #1 <br> 我知道本论坛里应该有这方面的内容,不过我找了一下,不太好找,用全文检索也不怎么好找,<br>请教高手如果是我的题目的要求,在全文检索里应该怎么样查找?<br>最好有源代码<br>
H hfghfghfg Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-25 #3 hook<br>//例子 好。。。。。。。。。。多
C cealnz Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-25 #5 原理:<br>由于要处理另一个进程的消息,必然要把代码注射到那个进程的位址空间里去.最好的方法<br>是hook,而且是要消息截取函数存在于你写的dll中这样的hook.<br><br>这样,SetWindowsHookEx会让目标进程load你的dll(包含有hook函数).这时你的HookProc<br>要检查收到的消息.如果是消息是WM_KEYUP,并且wParam是回车键的虚拟码(没记错的话是<br>VK_ENTER),并且hwnd是你要监视的窗口的handle,那么SendMessage(WM_GETTEXT, hwnd,...<br>就可以了.<br><br>剩下的问题是,如何传给dll那个窗口的handle,以及如何把得到的text传回你的进程.<br>不难.也许你自己便可以解决
原理:<br>由于要处理另一个进程的消息,必然要把代码注射到那个进程的位址空间里去.最好的方法<br>是hook,而且是要消息截取函数存在于你写的dll中这样的hook.<br><br>这样,SetWindowsHookEx会让目标进程load你的dll(包含有hook函数).这时你的HookProc<br>要检查收到的消息.如果是消息是WM_KEYUP,并且wParam是回车键的虚拟码(没记错的话是<br>VK_ENTER),并且hwnd是你要监视的窗口的handle,那么SendMessage(WM_GETTEXT, hwnd,...<br>就可以了.<br><br>剩下的问题是,如何传给dll那个窗口的handle,以及如何把得到的text传回你的进程.<br>不难.也许你自己便可以解决
H hbezwwl Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-25 #7 http://www.delphibbs.com/delphibbs/dispq.asp?lid=96332<br>看看。
G goubo Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-28 #9 谢谢cealnz大侠,在dll中我使用getforegroundwindow取得被监视窗口的handle,使用<br>sendmessage消息wm_copydata将数据传入我的进程,不知道有没有别的好点的方法.
谢谢cealnz大侠,在dll中我使用getforegroundwindow取得被监视窗口的handle,使用<br>sendmessage消息wm_copydata将数据传入我的进程,不知道有没有别的好点的方法.