在MC91和MC92

时间:2016-10-04 09:36:56

标签: windows-mobile compact-framework windows-ce motorola-emdk modifier-key

我们开发了一个全屏运行的应用程序,因此修改器指示器不可见。

所以我现在需要一个解决方案来更新我们放在显示屏上的图标,状态为橙色,蓝色和移位。 有趣的是,此解决方案应该适用于 Omnii XT 10 Omnii XT 15 MC65 WAP 3 WinMobile 6.0 中的 WAP 4 MC91 MC92 以及 6.5 CE6

我使用移动设备SDK V8.0_8.42743获得了Psion设备的解决方案。它将迫使我根据操作系统将不同的DLL复制到设备上,但至少它可以很好地工作。

在MC65上,我可以使用Motorola EMDK for .NET v2.9(或v2.8 - 可以正常工作)。但是我希望这也适用于MC91和MC92,但事实并非如此。那些人实际上声称它: Release Notes - EMDK for .NET v2.8

然而事实证明,这些设备中的 keybddr.dll 具有不同的功能。虽然我可以得到他们的名字,但我仍然没有他们的签名,所以我只能猜测和希望。

MC91

GetAlphaMode
GetKeybdMode
GetKeybdState
RegisterKeyboardNotification
RegisterKeyStateNotification
SetAlphaMode
SetKeyState
SetMappingTable
SetMultiMappingTable
UnregisterKeyboardNotification
UnregisterKeyStateNotification

MC65

GetKbdModiferState
GetKeyStateEx
GetValidKbdModifers
SetKbdModifierState
SetKeyState

MC91和MC92的唯一想法是自己分析Windows消息队列并记录不同的消息。但是,并非所有设备都会发送橙色和蓝色的关键事件。我还必须跟踪用于启用,禁用,锁定这些修改键以及按下由这些键修改的键的消息序列。这似乎很多工作,很容易出错。不是我的老板愿意接受的东西。

问题:

有人可以建议在 MC91 和<上获得橙色蓝色转移的状态strong> MC92 ,理想情况下适用于上面列出的所有设备和操作系统?

1 个答案:

答案 0 :(得分:0)

我不知道您列出的具体设备,但如果通过操作系统中的虚拟键模拟密钥,您可以尝试GetAsyncKeyState https://msdn.microsoft.com/en-us/library/ms929204.aspx并在需要检查其中一个密钥时调用它如果按下它们会触发某种事件,那么它就是向下或在轮询循环中。 这适用于任何Windows CE / Mobile版本。

相关问题