C# 응용 프로그램에서 컴퓨터에 연결된 특정 장치의 존재를 감지하는 좋은 방법은 무엇입니까? 프로그래밍 방식으로, 물론. 나는 Windows XP를 지원하고 좀 연결된 장치를 사용하는 거대한 C# 응용 프로그램을 제공했습니다특정 장치의 존재를 감지하는 방법
7
배경해야합니다. 장치는 사용자 지정 하드웨어이며 소프트웨어없이 사용할 수 있도록 설계되지 않았습니다. C# 응용 프로그램이 시작되면 연결된 장치를 검색하고 적절할 때 해당 장치와 통신합니다. 하나 이상의 연결된 장치가있을 수 있습니다. 나는 장치를 검색하는 소스 코드를 조사하지 않았다. 장치는 USB 또는 직렬 케이블을 사용하여 PC에 연결됩니다. 장치 관리자에서 COM 포트로 나타납니다. 때로는 PC와 장치 사이에 USB 허브 또는 직렬 대 USB 변환기가있을 수 있습니다.
장치가 특정 USB 허브에 연결되어 있거나 특정 직렬/USB 변환기가 사용되는 경우 소프트웨어가 장치를 제대로 감지하지 못할 때가 있습니다. 때로는 PC마다 다릅니다. 일부 운전자가 원인인지 확실하지 않습니다.
나는 장치 검색 알고리즘을 살펴보고 가능한 경우 더 나은 솔루션을 제시하고 현재 구현을 대체해야한다고 말합니다. 이전에 이런 종류의 작업을 수행하지 않았으므로 Windows에서 장치를 관리하는 방법을 알아야합니다.
C#에서 특정 연결된 장치를 검색하려면 어떻게해야합니까? 좋은 습관이란 무엇이며, 내가 알고 있어야하거나 피하는 것이 무엇입니까?
어쩌면이 문서가 인터 휴식된다 http://stackoverflow.com/questions/68749/working-with-usb-devices-in-net http://www.developerfusion.com/article/84338/making-usb-c-friendly/ – Ruben
WMI 등을 사용하여 연결된 모든 (usb) 장치를 열거 할 수 있습니다. 그들은 내가 기억할 수있는 한 일하는 것이 꽤 느립니다. 그래도 더 나은 방법이있을 수 있습니다. http://stackoverflow.com/questions/3331043/get-list-of-connected-usb-devices – CodingBarfield