Unity 发布应用后,添加窗口最大化最小化的控制按钮
脚本1
using UnityEngine;
using System;
using System.Collections;
using System.Runtime.InteropServices;
public class WindowsSET:MonoSingleton<WindowsSET>
{
#region 窗口最小化定义
[DllImport("user32.dll")]
static extern bool CloseWindow(IntPtr hwnd);
[DllImport("user32.dll", EntryPoint = "FindWindow")]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
IntPtr ParenthWnd = FindWindow(null, "Voices"); //build时候的项目名
#endregion
private bool ischange = false;
///
/// 子物体:关闭程序按钮
///
public void CloseBtn_Click()
{
Application.Quit();
}
///
/// 子物体:窗口最小化
///
public void MinimizeBtn_Click()
{
CloseWindow(ParenthWnd);
}
///
/// 子物体:窗口最大化
///
public void MaximzeBtn_Click()
{
if (ischange == true)
{
Screen.SetResolution(1920,1080,true); //根据自己的需求设置即可
}
else
{
//获取设置当前屏幕分辩率
/// Resolution[] resolutions = Screen.resolutions;
//设置当前分辨率
//Screen.SetResolution(resolutions[resolutions.Length - 1].width, resolutions[resolutions.Length - 1].height, true);
// Screen.fullScreen = true; //设置成全屏,
Screen.SetResolution(960,540, false);
}
ischange = !ischange;
}
}
//全屏的方式还有几种,上面的时我的程序中用到的,其他代码如下:
一
// Screen.fullScreen = true;
二
// Screen.SetResolution(自己定, 自己定, true);
脚本2
using System;
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;//还原
public static void OnClickMinimize()
{ //最小化
ShowWindow (GetForegroundWindow (), SW_SHOWMINIMIZED);
}
public static 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();
//}
}
那个能用用那个--------