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();  
//}
}

那个能用用那个--------

猜你喜欢

转载自blog.csdn.net/july_unity/article/details/84946091
今日推荐