【Unity】改变游戏运行时Window的窗口标题
【Unity】改变游戏运行时Window的窗口标题
零、需求
Unity打包好的Windows程序,启动后如何更改窗口标题?因为看着英文的感觉不太好,故有此想法。什么?你说为啥不改项目产品名?产品名会被写到文件夹名中,感觉后面可能会有问题……
壹、解决方案
代码如下:
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)来设置标题就好啦,要是不想写代码,也可以在面板里设置,默认会帮你设置一次标题窗口的~
好,以上就是全部内容,点个赞再走呗?不会的评论区见~ (◍•ᴗ•◍)
【Unity】改变游戏运行时Window的窗口标题的更多相关文章
- Unity 改变游戏对象的Scale引起的不好结果
1. 当一个游戏对象的中心(它的x,y,z的交点) 不在它的正中间时,改变它的Scale时它的中心也会变的. 如图:这是用PlayMkaer做的,胶囊体碰到瓶子瓶子会碎,会在瓶子的中心位置那生成一个 ...
- Unity3D脚本学习——运行时类
AssetBundle 类,继承自Object.AssetBundles让你通过WWW类流式加载额外的资源并在运行时实例化它们.AssetBundles通过BuildPipeline.BuildAss ...
- 用Unity做游戏,你需要深入了解一下IL2CPP
这次我们翻译了一篇Unity官方博客上的文章,原文题目为AN INTRODUCTION TO IL2CPP INTERNALS ,作者是从事Unity软件开发的Joshua Peterson.文章的看 ...
- 【原】iOS动态性(五)一种可复用且解耦的用户统计实现(运行时Runtime)
声明:本文是本人 编程小翁 原创,转载请注明. 为了达到更好的阅读效果,强烈建议跳转到这里查看文章. iOS动态性是我的关于iOS运行时的系列文章,由浅入深,从理论到实践.本文是第5篇.有兴趣可以看看 ...
- 自制Unity小游戏TankHero-2D(2)制作敌方坦克
自制Unity小游戏TankHero-2D(2)制作敌方坦克 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm)这个游戏制作的. ...
- Java程序运行时,数据都保存到什么地方?
程序运行时,我们最好对数据保存到什么地方做到心中有数.特别要注意的是内存的分配.有六个地方都可以保存数据: 寄存器 这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部.然而,寄存器 ...
- Java面试题问与答——编译时与运行时
在开发和设计的时候,我们需要考虑编译时,运行时以及构建时这三个概念.理解这几个概念可以更好地帮助你去了解一些基本的原理.下面是初学者晋级中级水平需要知道的一些问题. Q.下面的代码片段中,行A和行B所 ...
- iOS开发——运行时OC篇&使用运行时获取系统的属性:使用自己的手势修改系统自带的手势
使用运行时获取系统的属性:使用自己的手势修改系统自带的手势 有的时候我需要实现一个功能,但是没有想到很好的方法或者想到了方法只是那个方法实现起来太麻烦,一或者确实为了装逼,我们就会想到iOS开发中最牛 ...
- 《转》.NET开源核心运行时,且行且珍惜
转载自infoQ 背景 InfoQ中文站此前报道过,2014年11月12日,ASP.NET之父.微软云计算与企业级产品工程部执行副总裁Scott Guthrie,在Connect全球开发者在线会议上宣 ...
- 运行时(iOS)
运行时(iOS) 一.什么是运行时(Runtime)? 运行时是苹果提供的纯C语言的开发库(运行时是一种非常牛逼.开发中经常用到的底层技术) 二.运行时的作用? 能获得某个类的所有成员变量 能获得 ...
随机推荐
- Solution Set -「NOIP Simu.」20221111
\(\mathscr{A}\sim\) 遗忘十字路 Cover:「CF 1746D」Paths on the Tree. Tag:「C.性质/结论」 最原始的思路自然是 DP. 令 \(f ...
- langchain-知识库问答
本地接入 百川 langchain调用 参考:https://github.com/datawhalechina/self-llm/blob/master/BaiChuan/03-Baichuan2- ...
- hackmyvm Hades5变量劫持提权
在这个目录下有个./uid的程序 分别运行./uid 和 id 发现我们在 uid一行是有不一样的 我们猜测 在./uid里面他先用chown把我们的 uid改写成了anthea 然后运行id 然后再 ...
- uni-app之条件编译
ifdef 仅出现在XXx平台上 仅出现在 App 平台下的代码 #ifdef APP-PLUS 需条件编译的代码 #endif <!-- 只在H5上有哈 --> <!-- #ifd ...
- 生成对抗网络GAN简介
本文分享自天翼云开发者社区<生成对抗网络GAN简介>,作者:王****青 生成对抗网络(Generative Adversarial Networks,GAN)是一种深度敏感词模型,用于生 ...
- oracle 删除过期归档脚本
一.定时任务 crontab -e 编辑 每周6凌晨3点执行脚本 0 3 * * 6 . /home/oracle/scripts/arch_delete_before_60days_arch.sh ...
- Linux编译方式安装redis
redis安装1.安装gcc-c++编译环境yun install gcc-c++ 2.把redis上传到linux服务器 3.解压缩 tar -zxf redis-3.0.0.tar.gz 4. ...
- StarUML画流程图
一.新建流程图 1.1 新建流程图 1.2 左侧操作符介绍 Flow:顾名思义就是流,用来从一个操作流向下一个操作. Process: 过程 Terminator:用在结束的时候. Dicision: ...
- 从0搭建Vue3组件库(一): 开篇
前言 这是从0搭建Vue3组件库系列文章第一篇文章,这个系列我曾经写过多篇文章,但是写完之后回过头来再看里面有很多遗漏以及不足之处,所以决定重新梳理这个系列,并从头开始搭建一个完整的Vue3组件库工程 ...
- C#反射机制学习
参考原文链接:https://blog.csdn.net/xiaouncle/java/article/details/52983924 反射是.NET中的重要机制,通过反射可以得到*.exe或*.d ...