2011-03-23 95 views
12

我有一个运行在Windows Mobile 6.1设备上的应用程序(.Net Compact Framework 3.5),并且我想要检测USB连接何时更改(连接或断开连接)。检测USB连接 - C#.Net CF 3.5

我最初使用SystemProperty.CradlePresent属性来触发一个事件,但我想知道这是否只适用于设备连接有ActiveSync?我将通过USB从未运行ActiveSync的Linux设备接收连接。

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

+1

您正在通过USB将Linux设备连接到WM6设备? USB具有主/从架构; 2 _devices_不能直接通信,但必须通过_host_进行通信。 – MSalters 2011-03-24 09:20:19

+0

WM6设备仅通过Socket连接从Linux设备接收数据。我只是试图确定是否可以使用上面提到的SystemProperty来检测Linux设备何时通过USB连接。 – 2011-03-24 13:34:36

+0

我与MSalters。听起来你并不完全了解USB。你将成为一个奴隶装置。如果这变成了某种形式的套接字,那么我们是否假设你有一个驱动程序可以做到这一点?司机是否有任何通知? – ctacke 2011-03-24 15:22:39

回答

1

检查this出来,你可能会抓住部分源代码。它用C#编写的GUI。请记住,每当运行程序检查新的USB驱动器时,它都会占用内存和CPU,因此您可能需要缩短它检查的时间间隔,然后为不耐烦的用户提供“刷新”按钮。

+0

该文章中描述的方法使用事件处理程序,而不是轮询方法。它不应该是CPU或内存密集型。 – Jon 2011-04-06 20:53:29