Unity3d 去掉exe版本的边框

来源:互联网 发布:书生电子图书数据库 编辑:程序博客网 时间:2024/06/07 01:01

网上有好多介绍Unity3D去除边框的文章,大都是出自同一个地方。http://www.pixelstudio.nl/?p=204,好多人还让必须用指定的文件名(文件名必须与类名一致)。把网上的代码copy过来实验了一下,结果不能用。so,查找各种资源,最终解决掉了。

[csharp] view plain copy
 print?
  1. using System;  
  2. using System.Runtime.InteropServices;  
  3. using UnityEngine;  
  4.   
  5. public class WindowMOD : MonoBehaviour  
  6. {  
  7.     public Rect screenPosition;  
  8.     [DllImport("user32.dll")]  
  9.     static extern IntPtr SetWindowLong (IntPtr hwnd,int  _nIndex ,int  dwNewLong);  
  10.     [DllImport("user32.dll")]  
  11.     static extern bool SetWindowPos (IntPtr hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);  
  12.     [DllImport("user32.dll")]  
  13.     static extern IntPtr GetForegroundWindow ();  
  14.   
  15.     const uint SWP_SHOWWINDOW = 0x0040;  
  16.     const int GWL_STYLE = -16;  
  17.     const int WS_BORDER = 1;  
  18.     const int WS_POPUP = 0x800000;  
  19.   
  20.     void Start ()  
  21.     {  
  22.         SetWindowLong(GetForegroundWindow (), GWL_STYLE, WS_POPUP);//将网上的WS_BORDER替换成WS_POPUP  
  23.         bool result = SetWindowPos (GetForegroundWindow (), 0,(int)screenPosition.x,(int)screenPosition.y, (int)screenPosition.width,(int) screenPosition.height, SWP_SHOWWINDOW);  
  24.     }  
  25. }  

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


0
0 0
原创粉丝点击