0

ディスプレイ デバイスの実際の物理的な縦横比 (または寸法) をポーリングする方法はありますか (ディスプレイ モードの解像度ではなく、画面自体)。...そして、モニターに正しいドライバーがインストールされていても、メソッドは正しく機能しますか? すべての Win32 プラットフォームで動作する Win32 API 呼び出しを探しています。

4

1 に答える 1

0

これは、デスクトップ DC に対応するデバイスのアスペクト比を決定するために GetDeviceCaps() を使用して、私が思いついた最も近いものです。私のコードからのスニペット...

    HDC hDC = GetDC(NULL);
    if (hDC != NULL)
    {
        float dw = (float)GetDeviceCaps(hDC, HORZSIZE);
        float dh = (float)GetDeviceCaps(hDC, VERTSIZE);
        ReleaseDC(NULL, hDC);
        
        // Equivalent of reducing a fraction
        if (dw > dh)
        {
            dw /= dh;
            dh = 1.0f;
        }
        else
        {
            dh /= dw;
            dw = 1.0f;
        }

        wcp.fAspectNumerator = dw;
        wcp.fAspectDenominator = dh;
    }
于 2013-10-29T15:57:12.407 に答える