我想禁用Windows锁屏快捷方式,因为我想将其重新映射到其他功能,但我不想禁用实际的计算机锁定机制。
我知道我可以完全禁用锁屏,这不是我之后的事。
我使用了这个例子:https://github.com/kverpoorten/BabyKeyboardBash
如果检测到Left Win键已关闭,我更改了全局键盘挂钩以忽略所有事件。如果LWin关闭,我发送一个虚拟键事件。 除Windows锁屏快捷方式外,所有LWin + KEY快捷键均被忽略。似乎Windows在我的应用程序之前捕获了该事件。
以下是更改内容:https://github.com/kverpoorten/BabyKeyboardBash/blob/master/Keyboard.cs(第198行)
private IntPtr HookCallback( int nCode, IntPtr wParam, ref KBDLLHOOKSTRUCT lParam)
{
if ((NativeMethods.GetKeyState(VK_LWIN) & 0x8000) != 0)
{
Console.WriteLine("LWin down!");
return (System.IntPtr)1;
}
}
目前我只测试是否能抓住锁屏快捷方式。所有这一切都表明它是不可能的。
谢谢!