做了一个键盘HOOK,键盘捕获函数在DLL中实现。
然后在一个对话框程序A中设好HOOK,就可响应我的键盘消息。键盘响应函数是用来控制另一个窗口B的。
开始我是在响应函数里得到B的句柄,然后控制(即在DLL中得到B的句柄)。一切正常!
后来我想在窗口A中动态设定应该捕获的那个窗口的句柄,然后发送给DLL,设好HOOK后,响应函数就应该按照我自定义的那个句柄的窗口进行操作。为此我是在DLL中建立了一个SetParam()函数用来供窗口A把要捕获窗口句柄传送给DLL的。结果是:我的键盘消息只有在窗口A有焦点时才响应,当不在焦点时,无法响应。我测试过,不调用DLL里的键盘响应函数。不解,求教
然后在一个对话框程序A中设好HOOK,就可响应我的键盘消息。键盘响应函数是用来控制另一个窗口B的。
开始我是在响应函数里得到B的句柄,然后控制(即在DLL中得到B的句柄)。一切正常!
后来我想在窗口A中动态设定应该捕获的那个窗口的句柄,然后发送给DLL,设好HOOK后,响应函数就应该按照我自定义的那个句柄的窗口进行操作。为此我是在DLL中建立了一个SetParam()函数用来供窗口A把要捕获窗口句柄传送给DLL的。结果是:我的键盘消息只有在窗口A有焦点时才响应,当不在焦点时,无法响应。我测试过,不调用DLL里的键盘响应函数。不解,求教
然后在DLL键盘处理函数里用这个句柄进行操作。
问题是我调试时,如果窗口A不在焦点,我按了键盘,命令根本就不到DLL去。窗口A在焦点时正常不知大家遇过这情况没