用timer或循环:
if (GetAsyncKeyState(VK_SCROLL)<0)
{
.....
}

解决方案 »

  1.   

    我记得如果是用全局HOOK,即使是普通的WH_KEYBOARD也能够在游戏中起作用的吧。但有个问题是在Windows 9x的MS-DOS窗口中,WH_KEYBOARD却又不灵光了,真是郁闷。不知道写个键盘驱动行不行?(开玩笑的,也太夸张了吧)。
    我做的一个freeware(www.dualface.com 可以下载)使用了许多热键,不过是用RegisterHotKey注册的,在Windows 9x环境下运行的绝大部分游戏中都失灵了,但在Windows NT/2000/XP下面却都可以发送WM_HOTKEY消息。
    好像Windows 9x和Windows NT/2000/XP的RegisterHotKey效果是有区别的。
      

  2.   

    “WH_KEYBOARD”钩子是在线程调用“GetMessage”或“PeekMessage”后产生WM_KEYDOWN、WM_KEYUP消息才被调用的,而游戏使用了DirectInput后键盘事件根本不会进入游戏的线程消息队列,所以是没办法响应热键的!
    谢谢lownr(廖宇雷)的回复!