// Get current DEVMODE for the given monitor (by device name) DEVMODE GetCurrentDevMode(const std::string& deviceName) DEVMODE dm = 0 ; dm.dmSize = sizeof(dm); std::wstring wDevice(deviceName.begin(), deviceName.end()); EnumDisplaySettingsW(wDevice.c_str(), ENUM_CURRENT_SETTINGS, &dm); return dm;
int main() { std::cout << "Windows Default Monitor Watcher\n"; std::cout << "Monitoring for changes... (Press Ctrl+C to exit)\n\n"; monitor default-monitor for windows 10 x64
// Register a simple window class to receive system messages const char CLASS_NAME[] = "MonitorWatcherClass"; WNDCLASS wc = {}; wc.lpfnWndProc = WndProc; wc.hInstance = GetModuleHandle(NULL); wc.lpszClassName = CLASS_NAME; // Get current DEVMODE for the given monitor
return "Unknown";
// Global flag to indicate changes volatile BOOL g_bChanged = TRUE; dm.dmSize = sizeof(dm)