.NET CF 下拦截系统消息的解决方案,包含 M 键,USB 状态改变事件

压缩包内包含有一个 DLL 和 C# 中引用代码。

 

原理很简单,用 C++ 写一个 DLL,然后在 DLL 里面监听系统消息,如果检测到消息是发给 C# 消息***,则转发该消息到 C# 消息***。
C# 中有个消息***,会把属于该窗口的消息接收过来。相应处理就好了。

已经导出
uint MzGetHomeKeyMessage();
int RegisterUsbNotifyMsg();
int GetUsbConnectType();
三个必要 API 函数,直接调用就好了。

据 mayaqcn 同学使用回报,锁屏后再解锁会触发USB状态改变事件
这可能的原因是某消息 ID 和 USB 消息冲突了。
解决方案是:收到 USB消息后,调用GetUsbConnectType(),判断 USB状态,真的改变了再提示USB状态改变。

posted on 2010-10-19 14:24  TsingCai  阅读(290)  评论(0编辑  收藏  举报