我需要禁用以下键盘快捷键,例如
alt + tab
alt + esc
ctrl + esc
windows key [this is not combination]
我需要在我的条件下提供密钥代码以使其禁用。
我尝试了以下链接:MSDN Keycodes
我的情况如下:
if (((lParam.vkCode == 12) && (lParam.flags == 9)) || // alt + tab
((lParam.vkCode == 12) && (lParam.flags == 1)) || // alt + esc
((lParam.vkCode == 11) && (lParam.flags == 1)) || // ctr + esc
((lParam.vkCode == 5) && (lParam.flags == 0)) || // windows key
但它似乎不起作用。我哪里错了?
如果有人需要查看我的整个代码以禁用快捷方式,请参阅我之前发布的this post。
答案 0 :(得分:0)
按下这些组合键时,您的应用程序将不会收到虚拟键事件。它们由操作系统专门处理。
如果您想尝试阻止用户轻松切换到其他应用,那么您可以调查创建自己的桌面(CreateDesktop API),切换到该桌面(SwitchDesktop API),然后运行您的应用程序代码。我认为用户可以通过很多方式解决这个问题,但许多用户不会自己找到它们。
我自己没试过,所以YMMV。