【Unity】改变游戏运行时Window的窗口标题

【Unity】改变游戏运行时Window的窗口标题

零、需求

Unity打包好的Windows程序,启动后如何更改窗口标题?因为看着英文的感觉不太好,故有此想法。什么?你说为啥不改项目产品名?产品名会被写到文件夹名中,感觉后面可能会有问题......

壹、解决方案

代码如下:

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using UnityEngine;

public class ChangeWindowTitle : MonoBehaviour
{
    /// <summary>
    /// 记录当前的窗口标题
    /// </summary>
    public static string TitleText = "";
    /// <summary>
    /// 窗口句柄,只能获取一次,后面获取的无效
    /// </summary>
    private static System.IntPtr windowHandle;
    /// <summary>
    /// 是否已经获得窗口句柄
    /// </summary>
    private static bool isGotWindowHandle = false;

    [Header("Windows窗口标题设置")]
    [Tooltip("窗口标题文字")]
    public string title = "窗口";
    [Tooltip("是否自动设置窗口标题文字")]
    public bool autoSet = true;


    [SerializeField]
    [Header("标题设置状态")]
    [Tooltip("标题是否已经设置过至少一次")]
    private bool isSet = false;

#if UNITY_STANDALONE_WIN
    [DllImport("user32.dll")]
    private static extern System.IntPtr FindWindow(string className, string windowName);
    [DllImport("user32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
    private static extern bool SetWindowText(System.IntPtr hwnd, string title);
#endif


    void Update()
    {
        if (autoSet && !isSet)
        {
            setTitle(title);
        }
    }

    public void setTitle(string title)
    {
        isSet = true;
#if UNITY_STANDALONE_WIN
        TitleText = title;
        if(!isGotWindowHandle)
        {
            // 获取窗口句柄
            windowHandle = FindWindow(null, Application.productName);
            isGotWindowHandle = true;
        }
        // 设置新标题
        SetWindowText(windowHandle, title);
#endif
    }
}

要注意的都写在注释里了(应该)。把它挂到对象上,直接调用public void setTitle(string title)来设置标题就好啦,要是不想写代码,也可以在面板里设置,默认会帮你设置一次标题窗口的~

好,以上就是全部内容,点个赞再走呗?不会的评论区见~ (◍•ᴗ•◍)❤

相关推荐
春卷同学2 小时前
足球游戏 - Electron for 鸿蒙PC项目实战案例
游戏·electron·harmonyos
码界奇点3 小时前
基于Python与Pygame的多功能游戏系统设计与实现
python·游戏·毕业设计·pygame·源代码管理
jtymyxmz3 小时前
《Unity Shader》12.2调整屏幕的亮度、饱和度和对比度
unity·游戏引擎
春卷同学4 小时前
篮球游戏 - Electron for 鸿蒙PC项目实战案例
游戏·electron·harmonyos
i橡皮擦5 小时前
使用gamedig 查询恐龙岛TheIsle游戏服务器
运维·服务器·游戏·steam·恐龙岛·the isle
春卷同学6 小时前
滑雪游戏 - Electron for 鸿蒙PC项目实战案例
游戏·electron·harmonyos
刻刻帝的海角7 小时前
创建一个简单的记忆翻牌游戏
游戏
兔儿资源8 小时前
游戏包站GM手游
游戏
春卷同学8 小时前
基于Electron开发的跨平台鸿蒙PC剪刀石头布游戏应用
游戏·electron·harmonyos
萌萌的提莫队长8 小时前
Unity试玩广告-PlayWork-麻将消消乐游戏
游戏