void MyChangeDisplaySettings()
{
DISPLAY_DEVICE dd;
DEVMODE dm;
int nDev = 2;
DWORD dwWidth[2] = {640, 640}; //첫번째 모니터는 1024*768로 만들고
DWORD dwHeight[2] = {480, 480}; //두번째 모니터는 800*600으로 만든다면....
for(int i=0; i < nDev; i++) {
//EnumDisplayDevices 함수를 이용하여 디스플레이 디바이스를 찾아야 합니다.
memset(&dd, 0, sizeof(DISPLAY_DEVICE));
dd.cb = sizeof(DISPLAY_DEVICE);
EnumDisplayDevices(NULL, i, &dd, 0); //i번째 모니터의 이름을 받아올 수 있습니다.
memset(&dm, 0, sizeof(DEVMODE));
dm.dmSize = sizeof(DEVMODE);
dm.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;
dm.dmPelsWidth = dwWidth[i];
dm.dmPelsHeight = dwHeight[i];
if (ChangeDisplaySettingsEx((char*)dd.DeviceName, &dm, NULL, CDS_TEST, NULL) == DISP_CHANGE_SUCCESSFUL)
ChangeDisplaySettingsEx((char*)dd.DeviceName, &dm, NULL, CDS_FULLSCREEN, NULL);
}
}
다중모니터 해상도 변경
2009. 1. 16. 17:23