初学者提问:用钩子获取所有线程键盘消息的有关问题

菜鸟提问:用钩子获取所有线程键盘消息的问题
用钩子做了一个可以获取所有线程键盘消息的DLL,加载后可以屏蔽其他线程的键盘消息,但当想用F4作为后门退出时,就没有办法在其他线程下完成,只能切到主程序下完成,代码如下,是代码有问题,还是只能是这样,那怎样才能在其他线程下完成呢?多谢各位,我是新手。

#include <windows.h>
LRESULT   CALLBACK   KeyboardProc(
    int   code,            
    WPARAM   wParam,    
    LPARAM   lParam      
)
{
if(VK_F4==wParam)
{
SendMessage(g_hWnd,WM_CLOSE,0,0);
UnhookWindowsHookEx(g_hKeyboard);
}
return   1;

}

void   SetHook(HWND   hwnd)
{
g_hWnd=hwnd;
g_hKeyboard=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,GetModuleHandle( "Hook "),0);
}


------解决方案--------------------
你要在这个DLL中定义一个全局共享的节。其中共享的是一个线程ID。
让后向线程发送消息:PostThreadMessage