我们开发了一个全屏运行的应用程序,因此修改器指示器不可见。
所以我现在需要一个解决方案来更新我们放在显示器上的橙色、蓝色和 shift 状态的图标。有趣的是这个解决方案应该适用于WinMobile 6.0和6.5和CE6中的Omnii XT 10、Omnii XT 15、MC65、WAP 3、WAP 4、MC91和MC92。
我使用移动设备 SDK V8.0_8.42743 获得了 Psion 设备的解决方案。它会迫使我根据操作系统将不同的 DLL 复制到设备上,但至少它运行良好。
在 MC65 上,我让它与摩托罗拉 EMDK 一起工作,用于 .NET v2.9(或 v2.8 - 都可以)。但是我希望这也适用于 MC91 和 MC92,但事实并非如此。那些实际上声称确实如此: 发行说明 - EMDK for .NET v2.8
然而事实证明,这些设备中的keybddr.dll具有不同的功能。虽然我可以得到他们的名字,但我仍然没有他们的签名,所以我只能猜测和希望。
MC91
获取阿尔法模式 获取KeybdMode GetKeybdState 注册键盘通知 RegisterKeyStateNotification 设置AlphaMode 设置密钥状态 设置映射表 设置多重映射表 注销键盘通知 UnregisterKeyStateNotification
MC65
GetKbdModiferState GetKeyStateEx GetValidKbdModifers SetKbdModifierState 设置密钥状态
MC91 和 MC92 剩下的唯一想法是自己分析 Windows 消息队列并记录不同的消息。但是,并非所有设备都发送橙色和蓝色的关键事件。我还必须跟踪消息序列,以启用、禁用、锁定这些修改键以及按下由这些键修改的键。这看起来工作量很大,而且很容易出错。不是我的老板愿意招待的。
问题:
有人可以建议一种方法来获取MC91和MC92上的orange、blue和shift状态,理想情况下可以在上面列出的所有设备和操作系统上运行吗?