如何在c#中获得免费的USB端口?

use*_*481 5 c# usb wmi winapi

我正在开发C#应用程序,需要找到任何USB端口是否可以免费使用.

是否有任何C#类或WMI查询来确定USB端口是否可以免费使用?

假设,如果一台机器有5个USB端口,其中2个已被鼠标占用,键盘和其余3个是免费的.所以我需要识别这些未使用的端口.

有没有任何win32类,所以我可以使用P/Invoke

问候,

阿莫尔.

cyb*_*j0g 2

看看那个答案。我认为您需要检查Availability每个Win32_USBHub的属性以确定设备是否连接到该端口。然而,USB 集线器可能会遇到困难。

if ((int)device.GetPropertyValue("Availability")>3)
    //port is free
Run Code Online (Sandbox Code Playgroud)