检测USB连接 - C#.Net CF 3.5

时间:2011-03-23 20:51:04

标签: c# compact-framework windows-mobile-6 usb-drive

我有一个在Windows Mobile 6.1设备上运行的应用程序(.Net Compact Framework 3.5),我想检测USB连接何时发生变化(连接或断开连接)。

我最初使用SystemProperty.CradlePresent属性来触发事件,但我想知道这是否仅在设备连接具有ActiveSync时才有效?我将通过USB从没有运行ActiveSync的Linux设备接收连接。

我仍然可以使用SystemProperty.CradlePresent来检测USB连接/断开连接吗?或者我是否需要探索其他选项来检测USB事件?感谢。

2 个答案:

答案 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,因此您可能需要调低其检查的时间间隔,然后为不耐烦的用户提供“刷新”按钮。

相关问题