您的位置:首页 > 移动开发 > Unity3D

Unity3d 去掉exe版本的边框

2013-08-27 17:06 302 查看
网上有好多介绍Unity3d去除边框的文章,大都是出自同一个地方。http://www.pixelstudio.nl/?p=204,好多人还让必须用指定的文件名(文件名必须与类名一致)。把网上的代码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就可以直接无边框显示啦。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: