다음을 통해 공유


SetProcessDpiAwarenessContext 함수(winuser.h)

현재 프로세스를 지정된 dpi(인치당 점) 인식 컨텍스트로 설정합니다. DPI 인식 컨텍스트는 DPI_AWARENESS_CONTEXT 값에서 가져옵니다.

참고

API 호출이 아닌 애플리케이션 매니페스트를 통해 프로세스 기본 DPI 인식을 설정하는 것이 좋습니다. 자세한 내용은 프로세스에 대한 기본 DPI 인식 설정을 참조하세요. API 호출을 통해 프로세스 기본 DPI 인식을 설정하면 예기치 않은 애플리케이션 동작이 발생할 수 있습니다.

구문

BOOL SetProcessDpiAwarenessContext(
  [in] DPI_AWARENESS_CONTEXT value
);

매개 변수

[in] value

설정할 DPI_AWARENESS_CONTEXT 핸들입니다.

반환 값

이 함수는 작업이 성공하면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

잘못된 입력에 대해 가능한 오류는 ERROR_INVALID_PARAMETER프로세스의 기본 API 인식 모드가 이미 설정된 경우(이전 API 호출을 통해 또는 애플리케이션 매니페스트 내에서) ERROR_ACCESS_DENIED.

설명

이 API는 이전의 기존 SetProcessDpiAwareness API의 고급 버전이므로 프로세스 기본값을 보다 세분화된 DPI_AWARENESS_CONTEXT 값으로 설정할 수 있습니다. 가장 중요한 것은 프로그래밍 방식으로 모니터당 v2 를 프로세스 기본값으로 설정할 수 있다는 것입니다. 이 값은 이전 API에서는 불가능합니다.

이 메서드는 애플리케이션 내의 모든 스레드에 대한 기본 DPI_AWARENESS_CONTEXT 설정합니다. 개별 스레드는 SetThreadDpiAwarenessContext 메서드를 사용하여 DPI 인식을 기본값에서 변경할 수 있습니다.

프로세스에서 UI를 만들기 전에 포함하여 DPI 인식에 의존하는 API를 호출하기 전에 이 API를 호출해야 합니다. 앱에 대한 API 인식이 설정되면 이 API에 대한 향후 호출이 실패합니다. 매니페스트에서 DPI 인식을 설정했는지 또는 이 API를 사용하는지에 관계없이 마찬가지입니다.

DPI 인식 수준이 설정되지 않은 경우 기본값은 DPI_AWARENESS_CONTEXT_UNAWARE.

요구 사항

   
지원되는 최소 클라이언트 Windows 10, 버전 1703 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2016 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winuser.h
라이브러리 User32.lib
DLL User32.dll

추가 정보

DPI_AWARENESS_CONTEXT

SetThreadDpiAwarenessContext

프로세스에 대한 기본 DPI 인식 설정