For my current C++ project I need to detect a unique string for every monitor that is connected and active on a large number of computers.
Research has pointed to 2
We've been toying with EnumDisplayDevices in order to detect if the current video card manufacturer is NVIDIA. It's not the same, but maybe it would help. Our piece looked like this:
int disp_num = 0;
BOOL res = TRUE;
do {
DISPLAY_DEVICE disp_dev_info;
ZeroMemory( &disp_dev_info, sizeof(DISPLAY_DEVICE) );
disp_dev_info.cb = sizeof(DISPLAY_DEVICE);
res = EnumDisplayDevices( 0, disp_num++, &disp_dev_info, 0x00000001 );
if(res &&
disp_dev_info.DeviceString[0]!=0 && disp_dev_info.DeviceString[0]=='N' &&
disp_dev_info.DeviceString[1]!=0 && disp_dev_info.DeviceString[1]=='V' &&
disp_dev_info.DeviceString[2]!=0 && disp_dev_info.DeviceString[2]=='I' &&
disp_dev_info.DeviceString[3]!=0 && disp_dev_info.DeviceString[3]=='D' &&
disp_dev_info.DeviceString[4]!=0 && disp_dev_info.DeviceString[4]=='I' &&
disp_dev_info.DeviceString[5]!=0 && disp_dev_info.DeviceString[5]=='A'){
isNVidia = true;
}
int x = 0;
}while( res != FALSE );
Pretty dumb, but working.