display 해상도 변경하기
1. EnumDisplaySettings 으로 현재 디스플레이 정보 얻어오기
- 현재 display 정보 얻기 예제
DEVMODE dm; // initialize the DEVMODE structure
ZeroMemory(&dm, sizeof(dm));
dm.dmSize = sizeof(dm);
if (0 != EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm))
{
}
- 사용가능한 display 정보 얻기 예제
int index = 0;
DEVMODE dm;
// initialize the DEVMODE structure
ZeroMemory(&dm, sizeof(dm));
dm.dmSize = sizeof(dm);
while (0 != EnumDisplaySettings(NULL, index++, &dm))
{
}
2. ChangeDisplaySettings을 이용하여 디스플레이 모드 변경
DEVMODE 의 정보를 변경.
| Member | Meaning |
|---|---|
| dmBitsPerPel | Bits per pixel |
| dmPelsWidth | Pixel width |
| dmPelsHeight | Pixel height |
| dmDisplayFlags | Mode flags |
| dmDisplayFrequency | Mode frequency |
| dmPosition | Windows 98/Me, Windows 2000/XP: Position of the device in a multimonitor configuration |
ChangeDisplaySettings(&mode,0); 이용하여 변경
ChangeDisplaySettings(NULL,0); 를 이용할 경우 변경 이전 상태로 돌아감.
'프로그래밍 - Windows > Win32 API' 카테고리의 다른 글
| WM_QUERYENDSESSION과 WM_ENDSESSION (0) | 2007/03/23 |
|---|---|
| display 해상도 변경하기 (0) | 2006/09/04 |
| 윈도우 메시지 WM_SYSCOMMAND (0) | 2006/09/01 |
| Win32 Message 모음 (0) | 2006/08/31 |
