C# có cung cấp phương tiện hiệu quả để quét các cổng COM có sẵn không? Tôi muốn có một danh sách thả xuống trong ứng dụng của tôi trong đó người dùng có thể chọn một trong các cổng COM được phát hiện. Tạo và điền vào danh sách thả xuống không phải là một vấn đề. Tôi chỉ cần biết làm thế nào để quét cho các cổng COM có sẵn bằng cách sử dụng C#. Tôi đang sử dụng Microsoft Visual C# 2008 Express Edition. Cảm ơn.Làm thế nào để quét cổng COM trong C#?
Trả lời
System.IO.Ports là không gian tên bạn muốn.
SerialPort.GetPortNames sẽ liệt kê tất cả các cổng COM nối tiếp.
Thật không may, các cổng song song không được hỗ trợ trực tiếp từ C#, vì chúng thường được sử dụng không thường xuyên ngoại trừ trong các tình huống cũ. Điều đó nói rằng, bạn có thể liệt kê chúng bằng cách truy vấn các khóa registry sau đây:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\PARALLEL PORTS
Xem namespace để biết chi tiết.
Sử dụng WMI thông qua không gian tên System.Management. Google nhanh chóng tìm thấy mã này:
using System;
using System.Management;
public class Foo
{
public static void Main()
{
var instances = new ManagementClass("Win32_SerialPort").GetInstances();
foreach (ManagementObject port in instances)
{
Console.WriteLine("{0}: {1}", port["deviceid"], port["name"]);
}
}
SerialPort.GetPortNames giải pháp tốt hơn! –
SerialPort.GetPortNames sử dụng dữ liệu đăng ký không được cập nhật. Nếu người dùng đang cắm và tháo nhiều thứ, tôi đã tìm thấy cách tiếp cận quản lý để đáng tin cậy hơn. – SteveCav
Chỉ cần liệt kê các cổng và đi cho WMI. Tuy nhiên, nó dường như không bao gồm bộ điều hợp USB-to-serial, hoặc ít nhất là chúng không có trong danh sách. Với 'SerialPort.GetPortNames', chúng đã và danh sách được cập nhật ngay lập tức. – OregonGhost
- 1. Trong C# làm thế nào tôi có thể nghe một cổng COM (Serial) đã được mở?
- 2. Làm cách nào để tự động phát hiện cổng COM COM?
- 3. Làm thế nào để làm cho quá trình quét cổng TCP nhanh hơn?
- 4. Cổng COM Bluetooth Android
- 5. Làm cách nào để có được tên thân thiện của cổng COM trong Windows?
- 6. Cho phép PHP truy cập cổng COM
- 7. Làm thế nào để quét một thư mục trong Java?
- 8. PHP - Đọc Cổng COM từ Windows
- 9. python: Làm thế nào để phát hiện thiết bị tên/id trên COM nối tiếp
- 10. Làm thế nào để sử dụng COM dll trong chương trình C++ của tôi
- 11. Làm thế nào để quét HBase hàng hiệu quả
- 12. Cổng COM Arduino không hoạt động
- 13. Làm thế nào để thiết lập cổng nguồn trong ổ cắm UDP trong c?
- 14. Cách quét cổng chờ kết nối trên mạng
- 15. Làm thế nào để đọc dữ liệu từ cổng COM bằng cách sử dụng tập tin thực thi?
- 16. Làm thế nào để tôi nhận được tên quy trình của một cổng mở trong C#?
- 17. Làm thế nào để có được loại đối tượng COM
- 18. Làm thế nào để tạo máy quét mã vạch (Android)?
- 19. Làm thế nào để tìm ra một id prog COM?
- 20. Làm thế nào để tạo các proxy interop COM vào mã nguồn C#?
- 21. Làm thế nào để chạy Thin trên một cổng khác?
- 22. API MSMQ COM trong C#
- 23. Liệt kê các cổng nối tiếp (COM) trên Windows?
- 24. tại sao truy cập vào cổng com bị từ chối?
- 25. Làm thế nào để sử dụng Đăng ký miễn phí COM dll trong dot net
- 26. Windows 7 x64 Cổng COM/Serial Sniffer/Redirect
- 27. Làm thế nào để chạy Nginx trên nhiều cổng
- 28. Làm thế nào để bạn tạo một DLL COM trong Visual Studio 2008?
- 29. Làm thế nào để kiểm tra đối tượng COM từ tập tin Dump Visual Basic?
- 30. Làm thế nào để gọi hàm COM DLL (trong VC++) từ ứng dụng VC++ .EXE?
Cảm ơn các chi tiết bổ sung, nhưng tôi thực sự chỉ quan tâm đến việc liệt kê các cổng COM nối tiếp (không song song kế thừa). –
@Jim Fell: Tôi đã tìm được bao nhiêu lần đầu tiên tôi đăng, nhưng suy nghĩ thứ hai đã quyết định rõ ràng về song song, chỉ trong trường hợp. – Randolpho
@Randolpho và tôi đánh giá cao vì điều này vừa xuất hiện trên kết quả tìm kiếm của Google cho LPT. :) –