Trong ứng dụng C#, một số cách hay để phát hiện sự hiện diện của một số thiết bị được kết nối với máy tính là gì? Dĩ nhiên, theo chương trình. Tôi cần phải hỗ trợ Windows XP và 7.Cách phát hiện sự hiện diện của một số thiết bị nhất định
nền
Tôi đã được đưa ra một ứng dụng C# khổng lồ có sử dụng một số thiết bị được kết nối. Các thiết bị này là phần cứng tùy chỉnh và không được thiết kế để sử dụng mà không cần phần mềm. Khi ứng dụng C# khởi động, ứng dụng sẽ tìm kiếm các thiết bị được kết nối đó và liên lạc với chúng khi thích hợp. Có thể có nhiều thiết bị được kết nối. Tôi đã không nhìn vào mã nguồn tìm kiếm các thiết bị. Các thiết bị được cắm vào máy tính bằng cáp USB hoặc cáp nối tiếp. Chúng xuất hiện dưới dạng cổng COM trong trình quản lý thiết bị. Đôi khi có thể có USB hub hoặc serial để chuyển đổi USB ở giữa PC và thiết bị.
Khi thiết bị được kết nối với một số cổng USB nhất định hoặc một số bộ chuyển đổi nối tiếp sang USB được sử dụng, đôi khi phần mềm không thể phát hiện thiết bị đúng cách. Đôi khi nó thay đổi từ PC sang PC. Chúng tôi không chắc chắn nếu nó gây ra cho một số trình điều khiển.
Tôi được yêu cầu xem xét thuật toán tìm kiếm thiết bị và nếu có thể, hãy tìm ra giải pháp tốt hơn và thay thế triển khai hiện tại. Tôi đã không thực hiện loại nhiệm vụ này trước đây và tôi cần phải tìm hiểu cách Windows quản lý các thiết bị dưới mui xe.
Tôi làm cách nào để tìm kiếm các thiết bị được kết nối cụ thể trong C#? Một số thực hành tốt và những gì tôi nên nhận thức hoặc tránh?
Có lẽ bài viết này là interresting: http://stackoverflow.com/questions/68749/working-with-usb-devices-in-net và http://www.developerfusion.com/article/84338/making-usb-c-friendly/ – Ruben
Bạn có thể liệt kê tất cả các thiết bị được kết nối (usb) bằng WMI hoặc các thiết bị như vậy. Họ khá chậm để làm việc với xa như tôi có thể nhớ. Có thể có những cách tốt hơn mặc dù. http://stackoverflow.com/questions/3331043/get-list-of-connected-usb-devices – CodingBarfield