Winapi 阻止按下盖锁的最佳方法

Winapi 阻止按下盖锁的最佳方法,winapi,setwindowshookex,capslock,Winapi,Setwindowshookex,Capslock,对于像Launchy这样的程序,在Windows上拦截Caps Lock按钮的最佳方法是什么 目前,我正在设置一个低级钩子,但这对我来说有点太低级了,因为我不想截获其他试图在低级激活的程序。我正在寻找可能的最高级别的拦截,仍然可以防止打开Caps Lock本身。。。有更好的建议吗?您可以使用: 每当按下此键时,您的窗口将收到一条消息。显然,最好的方法是使用低级挂钩,因为注册表快捷键不会截获该键。哈哈,什么?这会有什么帮助/作用?实际上这很简单,只需调用一个中断并屏蔽您需要的位。。。在Win32用

对于像Launchy这样的程序,在Windows上拦截Caps Lock按钮的最佳方法是什么

目前,我正在设置一个低级钩子,但这对我来说有点太低级了,因为我不想截获其他试图在低级激活的程序。我正在寻找可能的最高级别的拦截,仍然可以防止打开Caps Lock本身。。。有更好的建议吗?

您可以使用:


每当按下此键时,您的窗口将收到一条消息。

显然,最好的方法是使用低级挂钩,因为
注册表快捷键
不会截获该键。

哈哈,什么?这会有什么帮助/作用?实际上这很简单,只需调用一个中断并屏蔽您需要的位。。。在Win32用户模式下?从来都不知道你能做到…@Mehrdad:事实上我一直在使用控制台应用程序,所以16位…@BlackBear:那还不能回答我的问题…:(这并不能阻止Caps Lock切换其状态——它的级别太高了。:(@Mehrdad:没错,但您不能“阻止”这不需要使用钩子。但是,你可以使用来处理热键和重置状态,但是使用钩子会更有效。啊,所以没有其他方法了?有没有比低级键盘钩子更高级的钩子我可以使用,或者这是我最后一个(也是唯一一个)了选项?@Mehrdad:我不知道。但是你不想使用低级钩子有什么原因吗?哦,我绝对可以这样做(正如我在帖子中提到的,这就是我已经在做的事情).问题是我不需要这么大的功率--我不希望我的程序在其他低级程序(如虚拟机)之前拦截caps lock键。但是如果没有其他选项,我会尝试这个。
RegisterHotKey(hWnd, 0, 0, VK_CAPITAL);