在 windows mobile 6.5.3 中禁用 SmartMinimize 硬按钮/确定硬按钮
Posted
技术标签:
【中文标题】在 windows mobile 6.5.3 中禁用 SmartMinimize 硬按钮/确定硬按钮【英文标题】:Disable SmartMinimize Hard button/ OK hardbutton in windows mobile 6.5.3 【发布时间】:2013-06-18 12:23:19 【问题描述】:我无法从我的代码中禁用“确定”硬件按钮。要禁用我正在使用的其他按钮
private void DisableButton(IntPtr Handle, Int32 code)
UnregisterFunc1(KeyModifiers.Windows, code);
RegisterHotKey(Handle, code, KeyModifiers.Windows, code);
其中代码 = 来自http://msdn.microsoft.com/en-us/library/bb431750.aspx 的十六进制代码
要禁用“确定”按钮,我需要禁用“VK_RWIN + VK_F6”,它是 2 个十六进制代码的组合。有人可以帮助我用上述方法或任何其他方法实现相同的目标吗?
注意:我使用的是摩托罗拉 ES400(如果这有任何帮助的话)。
【问题讨论】:
【参考方案1】:您在 Visual Studio 2008 中运行代码的模拟器是否有类似的按钮?
如果没有,您可能想尝试获得某种支持您的 ES400 设备的摩托罗拉 SDK。
这样,您可以双击设计器中的按钮,然后忽略该输入或编写一些内容来绕过它。也可能有一个 Key Down 事件,您可以为其编写代码,这样会更好。
我没有 ES400,所以我不能肯定这会起作用。
【讨论】:
KeyDown 事件永远不会为这些键触发(OK、Call、Call end、Windows 等)。所以我无法在 keydown 事件中捕获这些键。因此我采用了 coredll.dll 中的 UnregisterFunc1 和 RegisterHotKey API【参考方案2】:要捕获所有密钥,您可以更好(更简单)使用 AllKeys() API。
但即使使用 AllKeys(TRUE),紧凑框架运行时也不会转发所有击键。一个很好的解决方案是 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 组合。
【讨论】:
以上是关于在 windows mobile 6.5.3 中禁用 SmartMinimize 硬按钮/确定硬按钮的主要内容,如果未能解决你的问题,请参考以下文章
在 Microsoft Windows Mobile 6.5.3 Professional 上开发 java 应用程序
无法连接到 windows mobile 6.5.3 设备上的 sql server management studio 中的 sdf 文件
Windows 10 Mobile是否支持UWP应用程序的Fluent设计系统?