Unity 改变发布好exe的位置大小
using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Runtime.InteropServices; using UnityEngine; public class WindowMOD:MonoBehaviour { public Rect screenPosition; [DllImport("user32.dll")] static extern IntPtr SetWindowLong(IntPtr hwnd,int _nIndex,int dwNewLong); [DllImport("user32.dll")] static extern bool SetWindowPos(IntPtr hWnd,int hWndInsertAfter,int X,int Y,int cx,int cy,uint uFlags); [DllImport("user32.dll")] static extern IntPtr GetForegroundWindow(); const uint SWP_SHOWWINDOW = 0x0040; const int GWL_STYLE = -16; const int WS_BORDER = 1; const int WS_POPUP = 0x800000; void Start() { string paths = Application.dataPath; if(paths.IndexOf("Assets")==-1) { Screen.fullScreen = false; StartCoroutine(Setposition()); } } public IEnumerator Setposition() { yield return new WaitForSeconds(5f); //不知道为什么发布于行后,设置位置的不会生效,我延迟0.1秒就可以 SetWindowLong(GetForegroundWindow(),GWL_STYLE,WS_POPUP);//将网上的WS_BORDER替换成WS_POPUP bool result = SetWindowPos(GetForegroundWindow(),0,(int)screenPosition.x,(int)screenPosition.y,(int)screenPosition.width,(int)screenPosition.height,SWP_SHOWWINDOW); } }
posted on 2022-01-18 11:00 zqiang0803 阅读(119) 评论(0) 编辑 收藏 举报