Unity3d 去掉exe版本的边框

本文详细介绍了如何使用C#和Windows API在Unity编辑器中创建无边框窗口,并在发布后保持无边框状态的方法。通过设置窗口样式和使用特定的API函数,开发者可以在不改变Unity默认设置的情况下实现这一效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原地址:http://blog.sina.com.cn/s/blog_697b1b8c0101gd4h.html

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就可以直接无边框显示啦。

转载于:https://www.cnblogs.com/123ing/p/3703978.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值