[Unity] 13. 윈도우 명령을 이용한 해상도 변경

Using Unity;
Using C#;
Using Programming;



해상도를 변경하는 방법은 크게 2가지가 있습니다.

1. 유니티 속성을 이용하는 방법

2. 윈도우 속성을 이용하는 방법

이전 시간에 배운 유니티속성을 이용한 해상도변경 방법을 소개했으니




윈도우 명령을 이용한 해상도 변경은 유니티 커맨드 라인보다 복잡하지만,

더 많은 인수들을 제공하므로 다양한 연출을 할 수 있습니다.

우선 user32.dll을 임포트 합니다.

우리가 알고있는 예약어 폴더(Plugins, Resources...)인 플러그인에 넣는 DLL과 다릅니다.


using System.Runtime.InteropServices;

[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
private static extern IntPtr GetActiveWindow();

[DllImport("user32.dll", EntryPoint = "SetWindowPos")]
private static extern bool SetWindowPos(IntPtr hwnd, int hWndInsertAfter, int x, int Y, int cx, int cy, int wFlags);

const int HWND_TOPMOST = -1;






SetWindowPos( IntPtr hwnd, int hWndInsertAfte, int x, int y, int cx, int cy, int wFlags)

SetWindowPos 함수를 다음과 같이 작성하면,

IntPtr ActiveHwnd = GetActiveWindow();
SetWindowPos(ActiveHwnd, 레벨, 해상도위치x, 해상도위치y, 해상도w, 해상도h, Flag);

간단하게는 위와 같은 방식으로 해상도를 설정할 수 있습니다.

hWndInsertAfte = HWND_TOPMOST = -1을 이용해 최상된에 위치시킬 수 있고,

다양한 연출이 가능합니다.






댓글