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