#include <windows.h> #include <iostream> using std::wcout; using std::endl; BOOL WINAPI MonitorEnumProc( HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData ); int wmain() { EnumDisplayMonitors( 0, 0, MonitorEnumProc, 0 ); return (EXIT_SUCCESS); } BOOL WINAPI MonitorEnumProc( HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData ) { MONITORINFOEX monInfo; DISPLAY_DEVICE monDevice; DEVMODE monMode; static DWORD num = 0; monInfo.cbSize = sizeof(monInfo); monDevice.cb = sizeof(monDevice); monMode.dmSize = sizeof(monMode); monMode.dmDriverExtra = 0; monMode.dmFields = DM_DISPLAYFREQUENCY; GetMonitorInfo( hMonitor, &monInfo ); EnumDisplayDevices( monInfo.szDevice, num, &monDevice, 0 ); EnumDisplaySettingsEx( monInfo.szDevice, ENUM_CURRENT_SETTINGS, &monMode, EDS_RAWMODE ); num++; wcout << monInfo.szDevice << endl; wcout << monDevice.DeviceID << endl; wcout << monDevice.DeviceKey << endl; wcout << monMode.dmPelsHeight << endl; wcout << monMode.dmPelsWidth << endl; wcout << monMode.dmDisplayFrequency << endl; return (TRUE); } |