菜单上面有个 pause命令想选择它以后锁定键盘(不响应用户通过键盘的输入,但是可以接受和处理鼠标的点击)该用什么API函数,如何写?
case IDM_GAME_PAUSE:
????

解决方案 »

  1.   

    先设置一个标志,比如说nFlag = 1;在case WM_CHAR:等相关消息处理中判断,
      if (nFalg != 1)
      {
         处理
      }
      else
      {
        不处理
      }
      

  2.   

    可以使用来截获键盘输入消息:
    SetWindowsHookEx( 
         int idHook, // 钩子的类型,即它处理的消息类型
         HOOKPROC lpfn, // 钩子子程的地址指针。如果dwThreadId参数为0 
                 或是一个由别的进程创建的线程的标识,lpfn必
                 须指向DLL中的钩子子程。除此以外,lpfn可以
                 指向当前进程的一段钩子子程代码。 
         HINSTANCE hMod, // 应用程序实例的句柄。标识包含lpfn所指的子程
                 的DLL。如果dwThreadId 标识当前进程创建的一
                 个线程,而且子程代码位于当前进程,hMod必须
                 为NULL。 
         DWORD dwThreadId // 与安装的钩子子程相关联的线程的标识符,
                 如果为0,钩子子程与所有的线程关联。
         );