2015-07-23 29 views
5

Pracuję nad aplikacją C#, która musi znaleźć dowolny port USB za darmo lub do użytku.Jak mogę uzyskać wolne porty USB wC#?

Czy istnieje zapytanie klasy C# lub WMI, aby określić, czy port USB jest darmowy do użytku, czy nie?

Załóżmy, Jeśli urządzenie ma 5 portów USB, a 2 z nich jest już zajęte przez mysz, klawiatura i pozostałe 3 są bezpłatne. Muszę więc zidentyfikować te porty, które nie są używane.

Czy istnieje klasa win32 do tego, aby można było korzystać z P/Invoke

Pozdrowienia,

Amol.

+0

Wystarczy popatrzeć na http://stackoverflow.com/questions/27965098/c-sharp-how-do-i-check-usb-ports-with-usb-hub-and-used-controller – derape

Odpowiedz

2

Proszę spojrzeć na odpowiedź that. Myślę, że musisz sprawdzić właściwość Availability każdego z Win32_USBHub, aby określić, czy urządzenie jest podłączone do tego portu. Jednak mogą występować problemy z koncentratorami USB.

if ((int)device.GetPropertyValue("Availability")>3) 
    //port is free