ChangeDisplaySettingsA 함수(winuser.h)
ChangeDisplaySettings 함수는 기본 디스플레이 장치의 설정을 지정된 그래픽 모드로 변경합니다.
지정된 디스플레이 디바이스의 설정을 변경하려면 ChangeDisplaySettingsEx 함수를 사용합니다.
통사론
LONG ChangeDisplaySettingsA(
[in] DEVMODEA *lpDevMode,
[in] DWORD dwFlags
);
매개 변수
[in] lpDevMode
새 그래픽 모드를 설명하는 DEVMODE 구조체에 대한 포인터입니다.
DEVMODEdmSize 멤버는 DEVMODE 구조체의 크기(바이트)로 초기화되어야 합니다. DEVMODEdmDriverExtra 멤버를 초기화하여 DEVMODE 구조에 따른 프라이빗 드라이버 데이터의 바이트 수를 나타내야 합니다. 또한 DEVMODE 구조체의 다음 멤버 중 일부 또는 전부를 사용할 수 있습니다.
구성원 | 의미 |
---|---|
dmBitsPerPel |
픽셀당 비트 수 |
dmPelsWidth | 픽셀 너비 |
dmPelsHeight | 픽셀 높이 |
dmDisplayFlags | 모드 플래그 |
dmDisplayFrequency |
모드 빈도 |
dmPosition | 다중 모니터 구성에서 디바이스의 위치입니다. |
이전 DEVMODE 멤버 중 하나 이상을 사용하는 것 외에도 dmFields 멤버에서 다음 값 중 하나 이상을 설정하여 표시 설정을 변경해야 합니다.
값 | 의미 |
---|---|
DM_BITSPERPEL | dmBitsPerPel 값을 사용합니다. |
DM_PELSWIDTH | dmPelsWidth 값을 사용합니다. |
DM_PELSHEIGHT | dmPelsHeight 값을 사용합니다. |
DM_DISPLAYFLAGS | dmDisplayFlags 값을 사용합니다. |
DM_DISPLAYFREQUENCY | dmDisplayFrequency 값을 사용합니다. |
DM_POSITION | dmPosition 값을 사용합니다. |
[in] dwFlags
그래픽 모드를 변경하는 방법을 나타냅니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
CDS_TEST 지정하면 시스템에서 해당 그래픽 모드로 변경되지 않고도 실제로 유효한 그래픽 모드를 확인할 수 있습니다.
CDS_UPDATEREGISTRY 지정하고 그래픽 모드를 동적으로 변경할 수 있는 경우 정보가 레지스트리에 저장되고 DISP_CHANGE_SUCCESSFUL 반환됩니다. 그래픽 모드를 동적으로 변경할 수 없는 경우 정보가 레지스트리에 저장되고 DISP_CHANGE_RESTART 반환됩니다.
CDS_UPDATEREGISTRY 지정하고 정보를 레지스트리에 저장할 수 없는 경우 그래픽 모드가 변경되지 않고 DISP_CHANGE_NOTUPDATED 반환됩니다.
반환 값
ChangeDisplaySettings 함수는 다음 값 중 하나를 반환합니다.
반환 코드 | 묘사 |
---|---|
|
설정 변경에 성공했습니다. |
|
시스템이 DualView를 사용할 수 있기 때문에 설정 변경에 실패했습니다. |
|
잘못된 플래그 집합이 전달되었습니다. |
|
그래픽 모드는 지원되지 않습니다. |
|
잘못된 매개 변수가 전달되었습니다. 여기에는 잘못된 플래그 또는 플래그 조합이 포함될 수 있습니다. |
|
표시 드라이버가 지정된 그래픽 모드에 실패했습니다. |
|
레지스트리에 설정을 쓸 수 없습니다. |
|
그래픽 모드가 작동하려면 컴퓨터를 다시 시작해야 합니다. |
발언
ChangeDisplaySettings 전달된 DEVMODE 구조체가 유효하고 표시 드라이버에서 지원하는 값만 포함하도록 하려면 EnumDisplaySettings 함수에서 반환된 DEVMODE 사용합니다.
표시 모드가 동적으로 변경되면 WM_DISPLAYCHANGE 메시지가 다음 메시지 매개 변수를 사용하여 실행 중인 모든 애플리케이션으로 전송됩니다.
매개 변수 | 의미 |
---|---|
wParam | 픽셀당 새 비트 |
LOWORD(lParam) | 새 픽셀 너비 |
HIWORD(lParam) | 새 픽셀 높이 |
DPI 가상화
이 API는 DPI 가상화에 참여하지 않습니다. 지정된 입력은 항상 물리적 픽셀을 기준으로 하며 호출 컨텍스트와 관련이 없습니다.메모
winuser.h 헤더는 CHANGEDisplaySettings를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |
API 집합 | ext-ms-win-ntuser-sysparams-ext-l1-1-1(Windows 10 버전 10.0.14393에 도입됨) |
참고 항목
CreateDC
DEVMODE