64,654
社区成员
发帖
与我相关
我的任务
分享
void ExtrendMonitor()
{
DWORD DispNum = 0;
DISPLAY_DEVICE DisplayDevice;
DEVMODE DeviceMode;
ZeroMemory(&DisplayDevice, sizeof(DisplayDevice));
DisplayDevice.cb = sizeof(DisplayDevice);
while(EnumDisplayDevices(NULL, DispNum, &DisplayDevice, 0))
{
ZeroMemory(&DeviceMode, sizeof(DEVMODE));
DeviceMode.dmSize = sizeof(DEVMODE);
EnumDisplaySettings((LPCTSTR)DisplayDevice.DeviceName, ENUM_REGISTRY_SETTINGS, &DeviceMode);
//这里获得的DeviceMode值来自哪里?注册表?那注册表的值又来自哪里?
ChangeDisplaySettingsEx((LPCTSTR)DisplayDevice.DeviceName, &DeviceMode, NULL, CDS_GLOBAL | CDS_NORESET | CDS_UPDATEREGISTRY, NULL);
ZeroMemory(&DisplayDevice, sizeof(DisplayDevice));
DisplayDevice.cb = sizeof(DisplayDevice);
DispNum++;
}//while循环退出时为什么DispNum == 11?不是应该等于8吗?
ChangeDisplaySettingsEx(NULL, NULL, NULL, 0, NULL);
}