【发布时间】:2016-06-22 07:14:57
【问题描述】:
如何分别屏蔽键盘和鼠标?我尝试了 BlockInput,它在 Windows 10 中不起作用,还尝试如下:
function KBHookHandler(ACode: Integer; WParam: WParam; LParam: LParam)
: LResult; stdcall;
begin
if ACode < 0 then
// Immediately pass the event to next hook
Result := CallNextHookEx(Hook, ACode, WParam, LParam)
else
// by setting Result to values other than 0 means we drop/erase the event
Result := 1;
end;
function DisableKeyboard : boolean;
begin
if Hook = 0 then
// install the hook
// Hook := SetWindowsHookEx(WH_KEYBOARD, @KBHookHandler, HINSTANCE, 0);
Hook := SetWindowsHookEx(WH_KEYBOARD, @KBHookHandler, 0, 0);
Result := Hook <> 0;
end;
我的要求是在 Windows 7、Windows 8 和 Windows 10 中分别屏蔽键盘和鼠标。
【问题讨论】:
-
显示minimal reproducible example。解释运行此代码的上下文。解释你期望发生的事情。解释发生了什么。告诉我们您进行了哪些调试以及透露了哪些信息。
-
使用 BlockInput 没有发生任何事情,使用代码也没有发生任何事情。它必须禁用键盘才能不写或不使用键盘做任何事情。
-
你没有解决我评论中的任何问题。哦,好吧。
-
再一次,你在我的评论中没有解决一个问题。我放弃了。
-
明显的问题 - 此代码是在应用程序还是 DLL 中?这(部分)是大卫所说的最小、完整和可验证的例子——你必须展示一个完整的上下文——我们可以自己编译来看看你的意思。