我是想做个能读到键盘按键的钩子程序(26个字母和数字就行),在当前窗口可以执行,但是用alt+f4切换到别的程序窗口,就钩不到任何按钮。奇怪的是,按下f2还是可以关闭我这个程序,下面是我的部分代码:hook.def
LIBRARY Hook
EXPORTS
SetHook @2
SEGMENTS
MySec READ WRITE SHARED
hook.dll#include <afx.h>
#include <windows.h>HHOOK g_hKeyboard;#pragma data_seg("MySec")
HWND g_hWnd=NULL;
int g_id=0;
#pragma data_seg()CString str;LRESULT CALLBACK KeyboardProc(
  int code,       // hook code
  WPARAM wParam,  // virtual-key code
  LPARAM lParam   // keystroke-message information
)
{
if(VK_F2==wParam)    //f2键是个退出的后门
{
SendMessage(g_hWnd,WM_CLOSE,0,0);
UnhookWindowsHookEx(g_hKeyboard);
}
str=wParam;
SetDlgItemText(g_hWnd,g_id,str);
return 1;
}void SetHook(HWND hWnd,int CtrID)
{
g_hWnd=hWnd;
g_id=CtrID;
g_hKeyboard=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,GetModuleHandle("Hook"),0);
}在EXE主程序的InitDialog中调用SetHook(m_hWnd,IDC_EDIT1);
IDC_EDIT1是个文本框,我就是想在这个框中显示钩到的字符