我在尝试挂接键盘时遇到问题(不是键盘记录器!)我正在尝试自动化 Word,然后我正在使用特定的挂钩调用 dll。
我有一台台式机和一台笔记本电脑(两者具有相同的防病毒软件+ windows 7 x64),唯一的区别是笔记本电脑中的windows安装了较新的版本。问题:在笔记本上一切正常。但是在桌面上发生了奇怪的事情:钩子已安装并且如果针对记事本运行良好,但是,当针对 Word 时,虽然已安装钩子,但对外部函数的调用被抑制了!
LRESULT CALLBACK HookProc(int code, WPARAM wParam, LPARAM lParam)
{
if (code<0) {
return CallNextHookEx(HookHandle,code,wParam,lParam);
}
bool callNextHook = true;
if (callFunction != NULL) {
// ONLY WITH WORD AND ONLY IN THE DESKTOP callFunction SEENS TO BE NULL!!!
// this is a pointer to a function in main application
callFunction(code,wParam,lParam,&callNextHook);
} else {
ShowMessage("THE UNKNOW ERROR! THIS MESSAGE IS SHOWED, THEN HOOK IS INSTALLED");
}
//Call the next hook in the chain
if (callNextHook) {
return CallNextHookEx(HookHandle,code,wParam,lParam);
}
return 0;
}
我已经尝试禁用防病毒软件,更改用户帐户控制,以管理员身份运行程序......没有任何效果。是什么导致了这种差异?