using System . Collections ; using System . Collections . Generic ; using System . Runtime . InteropServices ; using UnityEngine ; public class WindowMaxAndMin : MonoBehaviour [ DllImport ( "user32.dll" ) ] public static extern bool ShowWindow ( IntPtr hwnd , int nCmdShow ) ; [ DllImport ( "user32.dll" ) ] static extern IntPtr GetForegroundWindow ( ) ; const int SW_SHOWMINIMIZED = 2 ; //{最小化, 激活} const int SW_SHOWMAXIMIZED = 3 ; //最大化 const int SW_SHOWRESTORE = 1 ; //还原 private void Start ( ) //获取设置当前屏幕分辩率 Resolution [ ] resolutions = Screen . resolutions ; //设置当前分辨率 Screen . SetResolution ( resolutions [ resolutions . Length - 1 ] . width , resolutions [ resolutions . Length - 1 ] . height , FullScreenMode . Windowed ) ; Screen . fullScreen = false ; //设置成全屏 Invoke ( "OnClickMaximize" , 0.3f ) ; public void OnClickMinimize ( ) //最小化 ShowWindow ( GetForegroundWindow ( ) , SW_SHOWMINIMIZED ) ; public void OnClickMaximize ( ) //最大化 ShowWindow ( GetForegroundWindow ( ) , SW_SHOWMAXIMIZED ) ; public void OnClickRestore ( ) ShowWindow ( GetForegroundWindow ( ) , SW_SHOWRESTORE ) ; // //测试 // public void OnGUI() // if (GUI.Button(new Rect(100, 100, 200, 100), "最大化")) // OnClickMaximize(); // if (GUI.Button(new Rect(100, 300, 200, 100), "最小化")) // OnClickMinimize(); // if (GUI.Button(new Rect(100, 500, 200, 100), "窗口还原")) // OnClickRestore(); //通过非托管方式导入dll。这里是导入user32.dll。 [DllImport("user32.dll")] public static extern bool ShowWindow(IntPtr hwnd, int nCmdShow); [DllImport("user32.dl. 一、全屏模式 如果所有用户的屏幕的比例相差不大,那么全屏也是可以的;但是大屏的项目一般不太适用。用户大屏一般都是宽屏,所以要想正常16:9的屏幕和宽屏都可以正常使用,全屏模式就不行了。 当然你可以给宽屏打个全屏模式的包,给16:9的屏幕打一个 窗口 模式的包。 Canvas用以宽度为准 一:简单介绍 1,用 Unity 打包发布PC程序,有时候不充满整个屏幕,感觉效果不好,需要在打开程序时, 窗口 是充满整个屏幕的,且有 窗口 任务栏,简单来说,就是 窗口 最大化 先看效果图 二:一个脚本解决问题 把下面这个脚本挂在一个新建的场景空物体上,运行就可以看到想要的效果了 using Syst...