0
디스플레이 장치의 실제 물리적 종횡비 (또는 심지어 크기)를 폴링 할 수있는 방법이 있습니까 (디스플레이 모드 해상도가 아닌 화면 자체)? ... 올바른 드라이버가 모니터에 설치되었지만 올바르게 작동합니까? 모든 Win32 플랫폼에서 작동하는 Win32 API 호출을 찾고 있습니다.Win32 디스플레이 장치 화면 비율
디스플레이 장치의 실제 물리적 종횡비 (또는 심지어 크기)를 폴링 할 수있는 방법이 있습니까 (디스플레이 모드 해상도가 아닌 화면 자체)? ... 올바른 드라이버가 모니터에 설치되었지만 올바르게 작동합니까? 모든 Win32 플랫폼에서 작동하는 Win32 API 호출을 찾고 있습니다.Win32 디스플레이 장치 화면 비율
GetDeviceCaps()를 사용하여 데스크톱 DC에 해당하는 장치의 종횡비를 결정하는 가장 가까운 방법입니다. 내 코드의 스 니펫 ...
HWND hDesktopWnd = GetDesktopWindow();
HDC hDC = GetDC(hDesktopWnd);
if(hDC != NULL)
{
float dw = (float)GetDeviceCaps(hDC, HORZSIZE);
float dh = (float)GetDeviceCaps(hDC, VERTSIZE);
ReleaseDC(hDesktopWnd, 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;
}
멀티 모니터 시스템의 의미를 숙고 해 보셨습니까? 왜 GetDesktopWindow를 0을 전달하기보다는 GetDC로 전달 했습니까? –
나는 사용중인 시스템에 이중 모니터를 가지고 있습니다. 잘 작동하는 것 같습니다. 기본 모니터의 크기 만 파악합니다. –
또한 DC를 릴리스하는 핸들이 필요했기 때문에 GetDC (NULL)에 대해 확신하지 못했습니다. 또는 적어도 그렇게 가정했습니다. –