Unity实战篇 |Unity 打包exe 实现隐藏窗口标题栏、隐藏最小化最大化关闭按钮

news2024/12/25 23:44:03

请添加图片描述

  • 🎬 博客主页:https://xiaoy.blog.csdn.net

  • 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN🙉

  • 🎄 学习专栏推荐:Unity系统学习专栏

  • 🌲 游戏制作专栏推荐:游戏制作

  • 🌲Unity实战100例专栏推荐:Unity 实战100例 教程

  • 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

  • 📆 未来很长,值得我们全力奔赴更美好的生活✨

  • ------------------❤️分割线❤️-------------------------

文章目录

      • 📢前言
    • 🎬Unity实战篇 |Unity 打包exe 实现隐藏窗口标题栏、隐藏最小化最大化关闭按钮
      • ❤️ 第一步:新建一个Unity项目,简单搭建一个UI画面
      • 🧡 第二步:创建一个脚本并挂载到场景中,编写代码
      • 💛 第三步:直接运行测试 以及 打包成Exe运行测试
    • 💬总结


📢前言

  • 大家在平时使用一些软件APP的时候,会看到有些软件打开后最顶部是没有 窗口标题栏 的。
  • 但是在Unity中打包的exe文件运行时顶部都会有一行标题栏,有的时候我们并不需要显示它。
  • 所以本文来介绍一种方法实现怎样将顶部标题栏给关掉,以及标题栏中的最小化 最大化 关闭按钮给隐藏掉

🎬Unity实战篇 |Unity 打包exe 实现隐藏窗口标题栏、隐藏最小化最大化关闭按钮

请添加图片描述

❤️ 第一步:新建一个Unity项目,简单搭建一个UI画面

新建的工程方法就不多说了,新建完项目之后添加一个Canvas,并创建几个Button组件。

分别是隐藏标题栏,显示标题栏,隐藏标题栏中的关闭按钮 和 显示标题栏的关闭按钮。

如下所示:

在这里插入图片描述

🧡 第二步:创建一个脚本并挂载到场景中,编写代码

本文主要是通过调用Windows的编程库来达到一个隐藏标题栏的功能,所以代码中引用到了 user32.dll

完整代码如下:

//公众号:呆呆敲代码的小Y
    [DllImport("user32.dll")]
    public static extern IntPtr GetForegroundWindow();
    [DllImport("user32.dll")]
    public static extern bool ShowWindow(IntPtr hwd, int cmdShow);
    [DllImport("user32.dll")]
    public static extern long GetWindowLong(IntPtr hwd, int nIndex);
    [DllImport("user32.dll")]
    public static extern void SetWindowLong(IntPtr hwd, int nIndex, long dwNewLong);

    // 最小化
    const int SW_SHOWMINIMIZED = 2;
    // 最大化
    const int SW_SHOWMAXIMIZED = 3;
    // 还原
    const int SW_SHOWRESTORE = 1;
    // 窗口风格
    const int GWL_STYLE = -16;
    // 标题栏
    const int WS_CAPTION = 0x00c00000;
    // 标题栏按钮
    const int WS_SYSMENU = 0x00080000;

    public Button _hideBarBtn;
    public Button _showBarBtn;
    public Button _hideCloseBtn;
    public Button _showCloseBtn;

    private IntPtr hwd;

    private void Awake()
    {
        // 获得窗口句柄
        hwd = GetForegroundWindow();

        _hideBarBtn.onClick.AddListener(HideTaskBar);
        _showBarBtn.onClick.AddListener(ShowTaskBar);
        _hideCloseBtn.onClick.AddListener(HideClose);
        _showCloseBtn.onClick.AddListener(ShowClose);
    }


    /// <summary>
    /// 隐藏标题栏
    /// </summary>
    private void HideTaskBar()
    {
        var wl = GetWindowLong(hwd, GWL_STYLE);
        wl &= ~WS_CAPTION;
        SetWindowLong(hwd, GWL_STYLE, wl);
    }

    /// <summary>
    /// 显示标题栏
    /// </summary>
    private void ShowTaskBar()
    {
        var wl = GetWindowLong(hwd, GWL_STYLE);
        wl |= WS_CAPTION;
        SetWindowLong(hwd, GWL_STYLE, wl);
    }
    /// <summary>
    /// 隐藏关闭按钮
    /// </summary>
    private void HideClose()
    {
        var wl = GetWindowLong(hwd, GWL_STYLE);
        wl &= ~WS_SYSMENU;
        SetWindowLong(hwd, GWL_STYLE, wl);
    }

    /// <summary>
    /// 显示关闭按钮
    /// </summary>
    private void ShowClose()
    {
        var wl = GetWindowLong(hwd, GWL_STYLE);
        wl |= WS_SYSMENU;
        SetWindowLong(hwd, GWL_STYLE, wl);
    }

💛 第三步:直接运行测试 以及 打包成Exe运行测试

直接运行测试,就可以查看具体的效果。

请添加图片描述

也可以Build打包成exe测试查看效果,打开 File -> Build Settings -> Build

在这里插入图片描述

打包后的效果如下:

请添加图片描述

可以看到标题栏是可以正常隐藏和关闭的,包括只隐藏右边三个按钮也是可以的!


💬总结

  • 本文简单介绍了在Unity中打包Exe文件后实现隐藏窗口标题栏、隐藏最小化最大化关闭按钮的方法。
  • 主要是引用了Windows的编程库来完成的功能,如果你有更好的方法也欢迎指出学习哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/102517.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【疾病分类】模糊逻辑分类叶病严重程度分级系统【含GUI Matlab源码 194期】

⛄一、模糊逻辑(Fuzzy Logic)简介 理论知识参考&#xff1a;模糊逻辑(Fuzzy Logic) ⛄二、部分源代码 function varargout LeafDiseaseGradingSystemGUI(varargin) % LeafDiseaseGradingSystemGUI MATLAB code for LeafDiseaseGradingSystemGUI.fig % LeafDiseaseGradingSy…

云原生 | go-micro@v4.9.0源码解析(建议收藏)

go-microv4.9.0源码阅读一、前言二、创建微服务三、源码阅读操作一&#xff1a;注册服务处理操作二&#xff1a;组件配置操作三&#xff1a;启动微服务Step 1 &#xff1a;启动微服务Step 2 &#xff1a;开启服务关闭监听Step 3 &#xff1a;停⽌Server组件Step 4 &#xff1a;…

毕业设计 基于java web的网上零食销售系统的设计与实现

文章目录前言一、项目设计1. 模块设计功能分析前台功能后台功能2. 实现效果二、部分源码项目源码前言 今天学长向大家分享一个 web项目: 基于java web的网上零食销售系统的设计与实现 一、项目设计 1. 模块设计 功能分析 经过对时下大型电商网站的调查&#xff0c;对该系统…

计算机毕业设计 SSM与Vue的垃圾分类系统(源码+论文)

文章目录1 项目简介2 实现效果2.1 界面展示3 设计方案3.1 概述3.2 系统流程3.2.1 系统开发流程3.2.2 登录流程3.3 系统结构设计4 最后1 项目简介 Hi&#xff0c;各位同学好呀&#xff0c;这里是M学姐&#xff01; 今天向大家分享一个今年(2022)最新完成的毕业设计项目作品&am…

学人工智能好找工作吗 ?Python就业前景怎么样?

学人工智能好找工作吗&#xff1f;Python就业前景怎么样&#xff1f;人工智能前景很好&#xff0c;中国正在产业升级&#xff0c;工业机器人和人工智能方面都会是热点&#xff0c;而且正好是学习的好时机。但是&#xff0c;也有一个问题大家要注意&#xff1a; 学习的难度比较高…

[附源码]Python计算机毕业设计Django智能衣橱APP

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

数据类型相关笔记

C、C、java强调类型&#xff1b; JavaScript、python、php不看重类型&#xff0c;甚至不需要事先定义。 类型 ○ 整数 ○ 浮点数 ○ 逻辑 ○ 指针 ○ 自定义类型 sizeof 查看所占字节 给出某个类型或变量在内存中所占据的字节数 # include <stdio.h>int main(void) …

怎么把avi转成mp4格式?

怎么把avi转成mp4格式&#xff1f;这是最近大家问的比较频繁的一个问题&#xff0c;avi是一种音频视频的交错格式&#xff0c;可以极大的压缩视频文件本身所占用的内存空间&#xff0c;但是同时引起的负面缺点是使视频画质受损&#xff0c;所以大家在遇到avi格式视频时。可以转…

编程明明是程序员的工作,关学生什么事?

写在前面&#xff1a; 我手里这个魔方&#xff0c;任何一个人都可以轻松地把它打乱&#xff0c;但要想把它复原&#xff0c;就不是每个人都能做到的了。我会还原魔方&#xff0c;而你不会&#xff0c;这能不能说明我比你聪明呢&#xff1f;并不能。 还原一个三阶魔方是有特定的…

12基于储能电站服务的冷热电多微网系统双层优化配置(matlab程序)

参考文献 基于储能电站服务的冷热电多微网系统双层优化配置——吴盛军&#xff08;2020电网技术&#xff09; 主要内容 分析共享储能电站的运行方式和盈利机制。将储能电站服务应用到冷热电联供型多微网系统中&#xff0c;建立考虑两个不同时间尺度问题的双层规划模型&#…

pyTorch入门(四)——导出Minist模型,C++ OpenCV DNN进行识别

学更好的别人&#xff0c;做更好的自己。——《微卡智享》本文长度为2548字&#xff0c;预计阅读8分钟前言前三章介绍了pyTorch训练的相关&#xff0c;我们也保存模型成功了&#xff0c;今天这篇就是使用C OpenCV的DNN模块进行手写图片的推理。实现效果导出的推理模型使用的是M…

基于JSP数码产品交易

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 网站前台&#xff1a;网站介绍、帮助信息、数码资讯、数码产品、讨论信息 管理员功能&#xff1a; 1、管理网站介绍、帮…

运维基础【黑马系列笔记整理分享(上)】

运维基础【黑马系列笔记整理分享(上&#xff09;】 因为笔记所记内容太多&#xff0c;所以我分成了上下两部分来分享给大家查看学习&#xff01;同时我会持续更新博客发布更加优质的文章&#xff0c;希望大家多多支持与关注&#xff01;感谢&#xff01; 一、运维概述 1、运维…

基于PHP+Mysql全品类在线购物商城设计

开发软件&#xff1a;VsCode/Dreamweaver等都行&#xff0c;mysql数据库&#xff0c;apache服务器 开发技术&#xff1a;PHP MVC模式&#xff0c;DIVCSS,Jquery等 这是一个全品类购物商城&#xff0c;可以销售所有品类的商品&#xff0c;包括前端用户和后端管理员2个身份&…

[ 妙用css ]:用css变量解决开发实际问题

各位看官&#xff0c;如何实现以上这种方块的移动&#xff0c;相信对于大家来说并不陌生&#xff0c;无非是几个步骤 1.设置动画 2.进行移动 3.动画循环 <div class"f-box"><div class"box"></div> </div> <style> .f-box…

Springboot工厂制造业WMS仓库管理系统源码为工厂仓库提供高效率管理带小程序和调试视频完全开源 可以二开

系统全开源&#xff0c;无任何加密&#xff0c;适合学习和二次开发 1. 开发语言&#xff1a;JAVA 2. 数据库&#xff1a;MySQL 3. 后端框架&#xff1a;springboot 4. 前端框架&#xff1a;VUE 5. 带小程序端 6. 带调试视频 7. 带部署文档 项目运行环境&#xff1a;JDK1…

使用Echarts完成对中国地图的绘制

目录前言1.什么是Echarts插件2.如何在vue中使用Echarts3.中国地图的具体样式4.如何使用Echarts来完成中国地图的绘制5.总结前言 我们在使用代码绘画地图的时候通常使用的是canvas&#xff0c;但是canvas是H5新增的东西&#xff0c;用起来不免有些麻烦&#xff0c;代码多&#…

聊一聊MySQL的记录锁、间隙锁与 Next-Key Lock

有小伙伴在微信上表示面试时被问到了 Next-Key Lock 是啥&#xff0c;结果一脸懵逼&#xff0c;那么今天我们来捋一捋 MySQL 中的记录锁、间隙锁以及 Next-Key Lock。 1. Record Lock Record Lock 也就是我们所说的记录锁&#xff0c;记录锁是对索引记录的锁&#xff0c;注意…

如何在小程序中完成支付进件?

1. 完成企业认证 1.1. 创建试用小程序 打开一个待发布的项目。点击顶部导航栏的 发布。手机扫码生成试用小程序。点击二维码底部的 发布应用。 1.2. 使用企业主体 转正小程序选择转正类型为 企业认证。 公司代码。 公司名称。 法人姓名。 法人身份证。 法人微信号。 点…

〖产品思维训练白宝书 - 产品思维认知篇②〗- 破局高手都具备的一种底层认知 - 产品思维

大家好&#xff0c;我是 哈士奇 &#xff0c;一位工作了十年的"技术混子"&#xff0c; 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 &#x1f4ac; 人生格言&#xff1a;优于别人,并不高贵,真正的高贵应该是优于过去的自己。&#x1f4ac; &#x1f4e…