VC全局的键盘钩子,一进3D游戏(穿越火线)钩子就没用了
求解决方案
动态链接库里是这么写的
#include <windows.h>
HHOOK hHook;
LRESULT CALLBACK KeyboardProc(int code,WPARAM wParam,LPARAM lParam){
if(wParam==VK_F10){
MessageBox(GetForegroundWindow(),"11","11",0);
}
return CallNextHookEx(hHook,code,wParam,lParam);
}
void SetHook(){
hHook = SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,GetModuleHandle("HotKeyDll1"),0);
}
def文件 内容
LIBRARY HotKeyDll1
EXPORTS
SetHook
另外一个WIN32的程序是这么写的
#include<windows.h>
_declspec(dllimport) void SetHook();
_declspec(dllimport) bool Control();
int main(){
SetHook();
while(Control()){
Sleep(1000);
}
return 0;
}
当我运行这个程序的时候按F10 可以正常弹出框,但是一进3D游戏 (CF穿越火线)
这个全局的键盘钩子就没办法用了