jsj020107 发表于 2016-12-20 15:45

MFC HOOK

描述:
应用程序aa.exe,窗体界面,有一个edit控件

要求:
客户在aa.exe界面的edit输入字符串str,回车后,抓取这个str

思路:用hook
用spy++获取aa.exe的edit的线程id
写个mfc.dllSetWindowsHookEx的时候WH_CALLWNDPROC,线程id
写一个对话框程序去调用dll,OnInitDialog的时候hook,DestroyWindow的时候unhook


然后...
然后发现抓不了按键消息

求思路,请问在edit输入完成后,按回车,触发什么消息?我要抓取完整的str


jsj020107 发表于 2016-12-20 16:20

没人知道吗?

windoze 发表于 2016-12-22 13:16

这玩意儿我十几年前知道的,不过好久不搞已经忘光了……

hellioncu 发表于 2016-12-22 14:28

WM_CHAR、WM_KEYDOWN、WM_KEYUP之类的吧

sxcong 发表于 2016-12-23 13:10

g_hHookKbd   = SetWindowsHookEx(WH_KEYBOARD, MyKbdHook,   hInst, 0);

然后:

LRESULT CALLBACK MyKbdHook(int code, WPARAM wParam, LPARAM lParam)
{
        LRESULT Result=CallNextHookEx(g_hHookKbd, code, wParam, lParam);
..
}

不过,话说Edit本身有按键消息的,不需要HOOK

sxcong 发表于 2016-12-23 13:11

MFC的话在PreTranslateMessage里面处理

jsj020107 发表于 2016-12-26 16:35

回复 5# sxcong

不好意思,可能我没说清楚我要hook的是另一个client对话框程序,全屏的,只有一个edit空间,让客户输入交易
当客户输入交易码的时候,hook获取到交易码后,弹出个对话提示帮助信息
页: [1]
查看完整版本: MFC HOOK