>백엔드 개발 >C++ >내 DPI-UNAWARE 응용 프로그램이 갑자기 DPI 시스템 인식이 된 이유는 무엇입니까?

내 DPI-UNAWARE 응용 프로그램이 갑자기 DPI 시스템 인식이 된 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-28 09:16:09240검색

Why Did My DPI-Unaware Application Suddenly Become DPI-System Aware?
DPI 알지 못하는 응용 프로그램은 갑자기 시스템 인식이되었습니다 이 문서는 이전에 DPI-UNAWARE 응용 프로그램이 코드 변경없이 예기치 않게 DPI 시스템 인식 모드로 전환 한 시나리오를 다룹니다. 이 변화는 응용 프로그램의 스케일링을위한 Windows 가상화에 대한 의존을 방해합니다. 문제 : 이전에 DPI를 알지 못하는 것으로 작동 한 응용 프로그램은 이제 DPI 시스템 인식 동작을 보여줍니다.

아마도 원인 :

가장 가능한 원인은 DPI 인식 의존성을 직접 또는 간접적으로 도입했기 때문입니다. DPI 인식 구성 요소를 참조하면 DPI 인식 설정이 상속을 유발할 수 있습니다. 해결 전략 : 몇 가지 방법은 응용 프로그램의 DPI를 알지 못하는 상태 : 를 복원 할 수 있습니다

명시 적으로 DPI 인식을 비활성화합니다 (AssemblyInfo.cs) : 상속 된 DPI 인식 설정을 무시하기 위해 다음 속성을 파일에 추가하십시오.

앱 manifest 구성 : 응용 프로그램 manifest 파일에서 명시 적으로 DPI를 알지 못하는 모드 :

Windows API 접근법 : 적절한 Windows API 기능을 사용하여 프로세스의 DPI 인식 컨텍스트를 설정하십시오. Windows 7 :

Windows 8.1 이상 : 또는

Windows 10, 버전 1809 이상 : 최적의 호환성을 위해

와 함께 사용하십시오.

  1. 사절 DPI 인식 (필요한 경우) : 보다 세분화 된 제어의 경우 를 사용하여 스레드별로 DPI 인식을 관리하는 것을 고려하십시오. 이 접근법은 절대적으로 필요한 경우가 아니라면 일반적으로 선호됩니다.

    이러한 솔루션 중 하나를 구현함으로써 응용 프로그램을 의도 한 DPI를 알지 못하는 동작으로 되돌리고 스케일링 문제를 해결할 수 있어야합니다. 각 방법을 구현 한 후 철저히 테스트를 고려하십시오

위 내용은 내 DPI-UNAWARE 응용 프로그램이 갑자기 DPI 시스템 인식이 된 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.