2010-08-30 43 views
10

Giống như tựa đề, tôi muốn biết liệu có thể xác định xem thiết bị HDMI có được kết nối bằng C# hay không.Có thể phát hiện xem có thiết bị HDMI nào được kết nối bằng C# không?

+0

Chắc chắn là vậy. Nếu không có gì khác bạn có thể tải xuống một ứng dụng thực hiện điều này và thực thi nó từ C# :) Bạn có thể làm điều này bằng cách sử dụng một số khóa registry không đáng tin cậy hoặc (phần nào đáng tin cậy) bằng cách marshalling các trình điều khiển không được quản lý hoặc các apis khác. Cũng có thể nhìn vào DirectX của api cho điều này tại một đoán. –

+0

Với P/Invoke, có một cách, nhưng chỉ từ Vista (theo MSDN) hoặc Win7 trên (theo định dạng mục tiêu WinGDI.h xác định): sử dụng WDK/GDI; QueryDisplayConfig cung cấp cho bạn DISPLAYCONFIG_PATH_INFO, chứa DISPLAYCONFIG_PATH_TARGET_INFO và cuối cùng là một giá trị từ DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY. Vì điều này khá phức tạp và bản địa, tôi không nghĩ đó là câu trả lời bạn đang tìm kiếm, nhưng nó cho thấy rằng nó có thể ... – dyp

Trả lời

1

Tôi không nghĩ rằng có một API duy nhất (như DirectX) sẽ cho phép bạn truy vấn trực tiếp. Bạn có thể cần phải viết một số thói quen tùy chỉnh cho ATI/NVidia/etc. thẻ cho điều đó và gói nó vào mini-API của riêng bạn.

+0

DxDiag có nói cho bạn biết điều này không? Tôi sẽ tự hỏi nếu bạn có thể sử dụng DirectX để kéo thông tin DxDiag làm và nếu điều đó sẽ cho bạn biết. Có lẽ không, đây không phải là lĩnh vực chuyên môn của tôi chút nào .. –

+0

Nhìn vào DxDiag ngay bây giờ và tôi thấy "màn hình plug and play", nhưng không có dấu hiệu của loại giao diện (VGA/HDMI/DVI). Nó có thể là có thể với các cuộc gọi DirectX mức thấp nhưng tôi nghi ngờ nó. –

+0

Vì MS đã thay đổi mô hình trình điều khiển hiển thị của họ cho Vista và cho Win7, nó ** là ** có thể sử dụng WDK/GDI từ Win7. Tôi đã viết một bình luận cho câu hỏi với các liên kết. – dyp

1

Trong ý nghĩa bạn không thể làm được. Họ có thể có một DVI-> HDMI kết nối cắm vào để nó được cắm vào như HDMI nhưng máy chỉ biết nó như DVI, hoặc một bàn tay đầy đủ các loại kết nối khác có thể được dongled (teehee) để HDMI.

1

Tôi nghĩ điều đó là có thể. bạn có thể sử dụng trình quản lý thiết bị để tìm hiểu xem cáp HDMI có được đính kèm hay không. Tôi đã làm việc trên một mã để tìm xem liệu USB có được kết nối hay không và liệu màn hình có được kết nối hay không. nếu bạn nhận thấy bất kỳ thay đổi nào trong trình quản lý thiết bị khi cáp HDMI được cắm vào, bạn có thể sử dụng để phát hiện HDMI

Các vấn đề liên quan