我有一个在Windows Mobile 6.1设备上运行的应用程序(.Net Compact Framework 3.5),我想检测USB连接何时发生变化(连接或断开连接)。
我最初使用SystemProperty.CradlePresent
属性来触发事件,但我想知道这是否仅在设备连接具有ActiveSync时才有效?我将通过USB从没有运行ActiveSync的Linux设备接收连接。
我仍然可以使用SystemProperty.CradlePresent
来检测USB连接/断开连接吗?或者我是否需要探索其他选项来检测USB事件?感谢。
答案 0 :(得分:2)
也许我之前的这个问题可能有所帮助:
How can I detect a USB disconnect event? (Windows, .NET C# application)
我最终听取并处理了WM_DEVICECHANGE
个事件。它们在此处指定:http://msdn.microsoft.com/en-us/library/aa363480(VS.85).aspx
不幸的是我没有源代码的副本了,所以我的内存有点模糊。我不知道这个解决方案是否适用于您的上下文。
答案 1 :(得分:1)
检查this,您可以获取部分源代码。它用C#编写,带有GUI。请记住每次运行正在检查新USB驱动器的程序时,它会占用内存和CPU,因此您可能需要调低其检查的时间间隔,然后为不耐烦的用户提供“刷新”按钮。