2012-04-15 8 views
6

tôi cần phải phát hiện trong mã (C++) như thế nào card đồ họa được kết nối với màn hình/s, tức là VGA hoặc DVI, vvNhận loại kết nối GPU trong Windows XP?

tôi thấy hai cách mà tôi có thể làm điều này:

  • bởi truy vấn Instrumentation Windows Management cho D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY hoặc
  • bằng cách sử dụng chức năng NvAPI_DISP_GetMonitorCapabilities nVidia API,

nhưng cả hai chỉ được hỗ trợ trong Windows Vista hoặc cao hơn.

Chắc chắn phải có cách để thực hiện điều này trong XP, nhưng sau nhiều lần tìm kiếm, tôi không thể tìm thấy nó và nó trở nên khá cấp thiết mà tôi tìm được cách.

Bất kỳ ý tưởng nào?

+0

_Có chắc chắn phải là một cách để làm điều này trong XP_ Phải không? Có vẻ hợp lý với tôi rằng không có. – DrPizza

+0

Đánh giá từ mức độ chú ý mà câu hỏi này đã nhận được, tôi có xu hướng đồng ý, có vẻ hơi lạ đối với tôi rằng 2 chức năng đó sẽ được giới thiệu trong Vista trở đi trừ khi có nhu cầu cho họ. Vì vậy, nếu có một nhu cầu thực sự bạn sẽ nghĩ rằng nó sẽ được hoàn thành bởi thời gian XP xuất hiện. –

+1

Tôi rất tò mò muốn biết tại sao bạn muốn biết. Nó không có vẻ hữu ích. Biết liệu kết nối có hỗ trợ HDCP có thể có một số giá trị không, nhưng đó là độc lập với giao diện thực tế đang được sử dụng. – DrPizza

Trả lời

1

Có thể bạn có thể sử dụng EnumDisplayDevices (link to MSDN) và phân tích một số thông tin như được mô tả here. Về cơ bản, nó là về kết hợp các màn hình vật lý với các màn hình logic.

+0

Hi macs, Cảm ơn bạn đã trả lời. Xin lỗi nếu tôi không đủ rõ ràng với câu hỏi của tôi nhưng điều tôi muốn là không biết cổng nào trên card đồ họa màn hình được kết nối, nhưng đặc biệt loại cổng trên card đồ họa màn hình được kết nối với, phần mềm mà tôi đang thực hiện cần phải chạy trên nhiều cạc đồ họa khác nhau có thể có đầu ra vga, dvi hoặc hdmi. Có thể lấy thông tin này từ cấu trúc DISPLAY_DEVICE không? Cảm ơn. –

+1

Tôi sẽ nói rằng điều này là có thể, bạn chỉ cần phải xác định loại cổng, mà cũng nên có thể (nhưng ngay bây giờ tôi không biết làm thế nào, có lẽ google sẽ giúp đỡ). –