C ++ Erkennen Sie Grafikkartenanbieter für vernetzte Monitore, ohne dass der Crowd -Streik verrückt wirdC++

Programme in C++. Entwicklerforum
Anonymous
 C ++ Erkennen Sie Grafikkartenanbieter für vernetzte Monitore, ohne dass der Crowd -Streik verrückt wird

Post by Anonymous »

Für eine Windows 7/8/10/11 Software, die ich derzeit erstelle, muss ich alle verbundenen Monitore scannen und über DDC/CI (I²C) kommunizieren, um diejenigen zu erkennen, die von einem bestimmten Hersteller stammen. Dann mache ich einige Herstellerspezifische DDC/CI-Kommunikation mit stark bezahlten DDC/CI. Da Windows jedoch nicht nativ VCP -Tabellen -Lese- /VCP -Tabellenbefehlsbefehle und VCP -Funktionen unterstützt und die VCP -Set -Funktion bei der Iterierung der verbundenen Monitore schrecklich langsam sind, möchte ich feststellen, an welcher Grafikkarte ein Monitor angeschlossen ist. Einfach mit Windows -API: Verwenden Sie EnumDisplayMonitors , um alle Hmonitor zu erhalten, und für jede ITRETTEN Sie alle Display_Device mit EnumDisplayDevices bis Sie den für den DevizeName identisch für den Gerätenamen für den Hmonitor von getMonitorinfo (Hmonitor) BOOL {
MONITORINFOEX monitor_info = { };
monitor_info.cbSize = sizeof(MONITORINFOEX);
if (GetMonitorInfo(hMonitor, &monitor_info) == 0) return TRUE;
std::wstring monitor_name = monitor_info.szDevice;
DISPLAY_DEVICE display_device = { };
display_device.cb = sizeof(DISPLAY_DEVICE);
for (DWORD index = 0; EnumDisplayDevices(nullptr, index, &display_device, 0); ++index) {
std::wstring device_name = display_device.DeviceName;
if (device_name == monitor_name) {
std::wstring device_id = display_device.DeviceID;
if (device_id.find(L"VEN_10DE") != std::wstring::npos) std::cout

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post