我无法从代码中禁用“确定”硬件按钮。要禁用我正在使用的其他按钮
private void DisableButton(IntPtr Handle, Int32 code)
{
UnregisterFunc1(KeyModifiers.Windows, code);
RegisterHotKey(Handle, code, KeyModifiers.Windows, code);
}
其中code = http://msdn.microsoft.com/en-us/library/bb431750.aspx
中的十六进制代码要禁用OK按钮,我需要禁用“VK_RWIN + VK_F6”,它是2个十六进制代码的组合。有人可以通过上述方法或任何其他方法帮助我实现相同目的。
注意:我使用的是摩托罗拉ES400(如果这有任何帮助)。
答案 0 :(得分:1)
您在Visual Studio 2008中使用代码运行的模拟器是否有类似的按钮?
如果没有,您可能想尝试使用某种支持ES400设备的Motorola SDK。
这样,您可以双击设计器中的按钮,忽略该输入或写一些东西来绕过它。可能还有一个Key Down事件,您可以编写代码,这样可以更好地工作。
我没有ES400,所以我不能肯定这会起作用。
答案 1 :(得分:0)
要捕获所有键,您可以更好(更简单)使用AllKeys()API。
但即使使用AllKeys(TRUE),紧凑框架runtim也不会转发所有击键。一个很好的解决方案是OpenNetCF框架的PreFilterMessage功能。请参阅http://www.hjgode.de/wp/2012/09/20/windows-mobile-cf-how-to-catch-f1-and-f2-in-weh/
上的文章使用PreFilerMessage,您应该能够捕获VK_RWIN + VK_F6组合。