C#中以下快捷键组合的虚拟键代码是什么?

时间:2009-08-06 03:12:36

标签: c#

我需要禁用以下键盘快捷键,例如

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

1 个答案:

答案 0 :(得分:0)

按下这些组合键时,您的应用程序将不会收到虚拟键事件。它们由操作系统专门处理。

如果您想尝试阻止用户轻松切换到其他应用,那么您可以调查创建自己的桌面(CreateDesktop API),切换到该桌面(SwitchDesktop API),然后运行您的应用程序代码。我认为用户可以通过很多方式解决这个问题,但许多用户不会自己找到它们。

我自己没试过,所以YMMV。