2011-01-29 21 views
5

Po podłączeniu urządzenia USB do komputera, w jaki sposób można uzyskać nazwę PORT, która jest podłączona przy użyciu kodu C#. Znalazłem wiele sposobów, aby znaleźć, kiedy USB jest podłączony, odłączony, litera dysku, ścieżka, identyfikator urządzenia itp., Ale nie znalazłem żadnego jasnego przykładu, jak się dowiedzieć, do którego portu został podłączony. Widziałem jedno możliwe wyjaśnienie, ale wymaga to wielu pinvokes, których zupełnie nie rozumiem. Uwielbiam wierzyć, że istnieją bardziej bezpośrednie i łatwe sposoby na uzyskanie takich informacji w języku C#, bez używania żadnego niezarządzanego kodu.Uzyskiwanie nazwy portu podłączonego urządzenia USB

+0

Jestem tworzenia aplikacji i gdy podłączam mojego modemu USB Chcę, aby wybrać port automatycznie teraz jestem wybór ręczny. Chcę tylko uzyskać podłączony port COM, przez który podłączony jest określony port USB (uzyskanie portu COM, może być wyszukiwanie według identyfikatora urządzenia USB). – Zerone

Odpowiedz

9

Porty USB nie mają nazw. To jest autobus, nie ma znaczenia, jakiego złącza używasz. Tak jak nie ma znaczenia, gdzie podłączasz kartę do magistrali wewnątrz urządzenia.

Jeśli mówisz o urządzeniu USB, którego sterownik emuluje port szeregowy (np. "COM5"), co jest dość powszechne, możesz uzyskać informacje o sterowniku z zapytania WMI, klasy Win32_SerialPort. Użyj narzędzia WMI Code Creator, aby zagrać za pomocą takiego zapytania i automatycznie wygenerować potrzebny kod C#.

+0

Dziękuję bardzo za wyjaśnienie magistrali. Poprawny; Chcę uzyskać emulowany port COM sterownika. Tworzę aplikację i kiedy podłączę mój modem USB, chcę, żeby ten port automatycznie wybrał port, a czasami się zmienia; teraz ustawiam to ręcznie. Dzięki za twórcę kodu WMI wydaje się bardzo przydatny. Czy możesz podać mi podpowiedź lub pomóc, jak uzyskać podłączonych portów COM za pomocą tego, ponieważ daje mi 0 wyników, gdy próbuję klasy Win32_SerialPort. Dzięki – Zerone

+0

Dzięki za przypomnienie mi narzędzia do tworzenia kodu WMI! – RoelF

1

Znalazłem bardzo ładne biblioteka tutaj page 1 i tutaj page 2

Strona jest chiński, ale kod nie jest. Nie działa na x64 (skompiluje się, ale odpowiedzi są fałszywe), ale działa na x86.

Powiązane problemy