【发布时间】:2012-08-17 13:55:51
【问题描述】:
我正在开发一个在运行时必须阻止某些键盘输入的软件。由于我已经谈到了放弃这个愿望的一些问题,我不再在这里重复细节(为了更好地了解情况,请阅读:How can I disable specific Windows hotkeys from inside a software using C++?)
我现在的问题是我能够用 Qt 做我想做的事,现在我必须将它传递给 Borland C++ Builder 6,但是 Builder 的编译器拒绝了代码:
SWH_return = SetWindowsHookEx(WH_KEYBOARD_LL,LowLevelKeyboardProc,GetModuleHandle(NULL),0);
指出
[C++ 错误] FrmMain.cpp(155): E2034 无法将 'long (__stdcall *)(int,unsigned int,long)' 转换为 'int (__stdcall *)()'
这很奇怪,一旦 Qt 发现这行代码没有任何问题并且一切运行正常。问题在于“SetWindowsHookEx”中包含“LowLevelKeyboardProc”。我尝试了对代码进行一些更改,但没有成功。
有人可以帮我解决这个问题吗?
谢谢,
莫默吉尔
注意:有关代码的更多详细信息,请访问我发布的链接。
【问题讨论】:
标签: c++builder setwindowshookex