>백엔드 개발 >C++ >Windows 디스플레이 크기 조정 설정을 프로그래밍 방식으로 검색하려면 어떻게 해야 합니까?

Windows 디스플레이 크기 조정 설정을 프로그래밍 방식으로 검색하려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-15 10:43:49743검색

How Can I Programmatically Retrieve Windows Display Scaling Settings?

Windows 디스플레이 설정을 프로그래밍 방식으로 결정

Windows 7 이상에서는 사용자가 제어판에서 텍스트 크기와 같은 디스플레이 매개변수를 조정할 수 있습니다. 이러한 설정에 액세스하면 사용자 기본 설정에 따라 애플리케이션 기능을 활성화하거나 비활성화하는 데 유용합니다.

이 디스플레이 설정을 프로그래밍 방식으로 검색할 수 있나요?

graphics.DpiXDeviceCap.LOGPIXELSX 속성 모두 확대/축소 수준에 관계없이 Surface Pro 장치에서 일관된 값 96을 반환하는 것으로 나타났습니다. 스케일링 계수를 정확하게 계산하려면 다른 접근 방식이 필요합니다.

gdi32.dllGetDeviceCaps 기능을 활용하는 것이 효과적인 방법입니다. 논리적이고 물리적인 화면 높이를 측정하여 화면 크기 조정 요소를 결정할 수 있습니다.

<code class="language-csharp">[DllImport("gdi32.dll")]
static extern int GetDeviceCaps(IntPtr hdc, int nIndex);
public enum DeviceCap
{
    VERTRES = 10,
    DESKTOPVERTRES = 117,
}

private float getScalingFactor()
{
    using Graphics g = Graphics.FromHwnd(IntPtr.Zero);
    IntPtr desktop = g.GetHdc();
    int LogicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.VERTRES);
    int PhysicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.DESKTOPVERTRES); 

    g.ReleaseHdc(desktop);

    float ScreenScalingFactor = (float)PhysicalScreenHeight / (float)LogicalScreenHeight;

    return ScreenScalingFactor;
}</code>

이 함수를 호출하면 화면 크기 조정 요소를 정확하게 얻을 수 있으므로 이에 따라 애플리케이션 동작을 조정할 수 있습니다.

위 내용은 Windows 디스플레이 크기 조정 설정을 프로그래밍 방식으로 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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