명령 줄을 통해 Windows 에서 현재 화면 해상도를 얻으려고 합니다.
내가 찾은 대부분의 답변을 바탕으로 다음을 사용해야합니다.
wmic desktopmonitor get screenheight, screenweight
그러나 이것은 현재 디스플레이 장치가 아닌 디스플레이 장치 의 최대 지원 해상도를 반환 합니다.
예 :
4k 모니터를 사용하고 있지만 현재 1920x1080
. 위의 명령을 실행하면 다음과 같은 결과가 나타납니다.
ScreenHeight ScreenWidth
2160 3840
명령 줄을 통해 Windows 에서 현재 화면 해상도 를 얻으려면 어떻게합니까 ?
높은 DPI를 처리하면 응용 프로그램이 높은 DPI 인식을 선언하지 않는 한 대부분의 Windows API 함수가 호환성을 위해 조정 된 버전의 해상도를 반환하기 때문에이 작업이 다소 어려워졌습니다. 이 Stack Overflow 답변에서 영감을 받아 다음 PowerShell 스크립트를 작성했습니다.
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class PInvoke {
[DllImport("user32.dll")] public static extern IntPtr GetDC(IntPtr hwnd);
[DllImport("gdi32.dll")] public static extern int GetDeviceCaps(IntPtr hdc, int nIndex);
}
"@
$hdc = [PInvoke]::GetDC([IntPtr]::Zero)
[PInvoke]::GetDeviceCaps($hdc, 118) # width
[PInvoke]::GetDeviceCaps($hdc, 117) # height
두 줄을 출력합니다 : 먼저 수평 해상도, 수직 해상도.
실행하려면 파일 (예 :)에 저장하고 screenres.ps1
PowerShell로 시작합니다.
powershell -ExecutionPolicy Bypass .\screenres.ps1
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다