12

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

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

我还能用它SystemProperty.CradlePresent来检测与 USB 的连接/断开连接吗?还是我需要探索其他选项来检测 USB 事件?谢谢。

4

2 回答 2

2

也许我以前的这个问题可能会有所帮助:

如何检测 USB 断开连接事件?(Windows、.NET C# 应用程序)

我最终侦听和处理WM_DEVICECHANGE事件。它们在此处指定:http: //msdn.microsoft.com/en-us/library/aa363480 (VS.85).aspx

不幸的是,我没有源代码的副本了,所以我对它的记忆有点模糊。我不知道此解决方案是否适用于您的上下文。

于 2011-04-06T20:51:37.730 回答
1

看看这个,你也许可以获取部分源代码。它是用 C# 编写的,带有 GUI。请记住,每次运行检查新 USB 驱动器的程序时,它都会占用内存和 CPU,因此您可能希望降低它检查的间隔,然后为不耐烦的用户提供“刷新”按钮。

于 2011-04-06T20:19:01.680 回答