2010-07-12 66 views
1

我想写一个简单的程序,检测USB Wifi插入计算机并拔掉它。我发现代码或库帮助我做到这一点(C#或Delphi)。告诉我,如果你知道:)如何通过C#检测到USB Wifi插入电脑?

或者

代码或lib中,列出计算机上的所有USB设备?

谢谢!

+0

经过一番搜索周围的网络,我找不到任何方式编程断开代码中的USB设备(除非你是一个设备驱动程序)。有许多方法可以禁用网络连接(使用WMI或INetConnectionManager)......这就是你想要做的事情吗?你试图达到什么目标? – Nat 2010-07-12 07:23:37

回答

3

我只能回答这个问题的一部分。您可以“弹出”使用此API的USB设备:

CM_Request_Device_Eject (MSDN link)

我使用它后,我在一个备份应用程序复制到的东西他们弹出USB拇指驱动器。我很确定有很多方法可以使用许多CM_XXX例程中的一个来枚举可用的USB设备,但我只对通过USB连接的存储设备感兴趣,所以我无法评论WiFi设备。

其他消化:也许你可以在其他层解决你的问题,也许你可以检测到添加一个新的网络适配器,并禁用它。并非所有USB设备都可以弹出,这可能是与驱动程序相关的问题。但我想,如果你可以从通知区域图标弹出它,你可以从代码中弹出它。

+0

这是个好主意!我可以在计算机上列出所有网络适配器,并通过WMI禁用其中的一个。但是,如何确保一个适配器是一个WiFi或没有? – Shinichi 2010-07-14 07:08:38