如何在Windows Mobile中注册WM_DEVICECHANGE消息的表单

我正在使用C#.NET 3.5 Compact Framework编写代码..请任何人告诉我如何为WM_DEVICECHANGE注册表单以及如何在WindowProc处理该消息。

如果我这样做,我得到设备硬件变化的暗示..我没有得到如何写请告诉。

谢谢

关键是要创建一个派生自NativeWindow的类,给这个表单的句柄调用AssignHandle,并覆盖WndProc函数(允许你用WM_DEVICECHANGE做你想做的事)。

有关更多详细信息,请参阅此MSDN页面上的示例: 重写NativeWindow.WndProc方法

[编辑]不完全确定NativeFindow类是否在compactFramework中可用。 如果没有,Alex Yakhnin拥有该类以及如何捕获此处可用消息的示例应用程序。 希望这会有所帮助。

实际上WM_DEVICECHANGE不太可能是你想要的。 您可能希望通过调用RequestDeviceNotifications并向其传递使用CreateMsgQueue创建的队列的句柄来挂接到Windows CE的设备通知队列。

如果您不想编写所有这些P / Invoke代码,那么通常情况下,智能设备框架已经完成了它并且在更逻辑的对象模型中。