Определение информации о телевизоре или порте HDMI

Я пытаюсь определить, когда кабель HDMI подключен (или удален) к ноутбуку или настольному компьютеру под управлением Windows 7 или выше.

я звонил RegisterDeviceNotification из WinAPI и установите следующее:

DEV_BROADCAST_DEVICEINTERFACE filter;
memset(&filter, 0, sizeof(filter));
filter.dbcc_size = sizeof(DEV_BROADCAST_DEVICEINTERFACE);
filter.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
filter.dbcc_classguid = GUID_DEVINTERFACE_MONITOR; //Detect new monitor/tv..
hNotify = RegisterDeviceNotification(window, &filter, DEVICE_NOTIFY_WINDOW_HANDLE);

Оно работает. Я получаю уведомления следующим образом:

case WM_DEVICECHANGE:
{
DEV_BROADCAST_DEVICEINTERFACE* info = (DEV_BROADCAST_DEVICEINTERFACE*) lParam;

switch(wParam)
{
case DBT_DEVICEARRIVAL:
MessageBox(NULL, info->dbcc_name, "Attached", 0);
break;

case DBT_DEVICEREMOVECOMPLETE:
MessageBox(NULL, info->dbcc_name, "Detached", 0);
break;

default:
break;
}
}
break;

И это прекрасно работает. Это печатает:

\\?\DISPLAY#SNY9C01#4&323d76f&0&UID50725632#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}

Однако я не могу определить, является ли это портом HDMI или другим портом. Все, что я знаю, это то, что это дисплей, который подключен «где-то». Любая идея, как я могу определить, с какого порта пришло событие?

Есть идеи?

1

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]