我的WinForms MDI应用程序在 ToolStripMeniItem 项目中设置了几个键盘快捷键。
以下是:
第一个永远不会触发其菜单项。其他人按预期工作。
是否被阻止/使用?是否有一些这样的被阻止的键盘快捷键列表?
有没有办法如何使用它? (最好只是通过设计师而不添加特殊代码?)
答案 0 :(得分:6)
如果我在我的机器上按Ctrl + Alt + F1,则会激活“Intel HD Graphics Control Panel”。许多机器已经预先安装了相当广泛的无用恶意软件,英特尔对其软件非常不负责任。当我使用任务管理器(HK =热键)终止igfxHK.exe进程时,MDI应用程序中的此代码工作正常:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
Console.WriteLine((int)keyData);
if (keyData == (Keys.F1 | Keys.Control | Keys.Alt)) {
MessageBox.Show("Yada");
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
我会给你免费的“Yada”截图。否则是一个非常典型的危险,调用RegisterHotKey()的程序总是超越你的快捷键击并做他们应该做的任何事情。语言栏作为另一个跳跃到脑海。还有很多其他的。使用任务管理器杀死进程以找到恶意者。
当然,你无能为力。您可以运行msconfig.exe来禁用它,但这对用户的计算机没有任何用处。这些程序总是选择明显的键,您可以通过从右到左选择快捷键来抵消。最好的办法是避免需要多个修饰符的键,用户也不喜欢它们。