Unity教程之-Unity3d去掉exe版本的边框

 

本篇Unity3d教程我们来学习下去掉Unity3发布后exe版本的边框,网上有好多介绍去除边框的文章,大都是出自同一个地方。好多人还让必须用指定的文件名(文件名必须与类名一致)。把网上的代码copy过来实验了一下,结果不能用。so,查找各种资源,最终解决掉了,贴上代码!


using System;
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 ()
{
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);
}
}

这样子在编辑模式下点运行,我的Unity的边框确实木有了。然而,发布之后的exe文件仍然带有边框。在playersetting中将Display Resolution Dialog设置为Disabled或者Hidden By Default。然后再发布的exe就可以直接无边框显示啦。

好了,本篇unity3d教程到此结束,下篇我们再会