修改windows窗口的标题名称,就是修改下图的东西:
第一种:
using UnityEngine;using System;using System.Runtime.InteropServices;public class SetWindowText : MonoBehaviour{ #region WIN32API delegate bool EnumWindowsCallBack(IntPtr hwnd, IntPtr lParam); [DllImport("user32", CharSet = CharSet.Unicode)] static extern bool SetWindowTextW(IntPtr hwnd, string title); [DllImport("user32")] static extern int EnumWindows(EnumWindowsCallBack lpEnumFunc, IntPtr lParam); [DllImport("user32")] static extern uint GetWindowThreadProcessId(IntPtr hWnd, ref IntPtr lpdwProcessId); #endregion IntPtr myWindowHandle; public void Start() { IntPtr handle = (IntPtr)System.Diagnostics.Process.GetCurrentProcess().Id; //获取进程ID EnumWindows(new EnumWindowsCallBack(EnumWindCallback), handle); //枚举查找本窗口 SetWindowTextW(myWindowHandle, "测试代码"); //设置窗口标题 } bool EnumWindCallback(IntPtr hwnd, IntPtr lParam) { IntPtr pid = IntPtr.Zero; GetWindowThreadProcessId(hwnd, ref pid); if (pid == lParam) //判断当前窗口是否属于本进程 { myWindowHandle = hwnd; return false; } return true; }}
第二种:
using System;using System.Collections;using System.Collections.Generic;using System.Runtime.InteropServices;using System.Text;using UnityEngine;public class NewBehaviourScript : MonoBehaviour { //Import the following. [DllImport("user32.dll", EntryPoint = "SetWindowTextW", CharSet = CharSet.Unicode)] public static extern bool SetWindowTextW(System.IntPtr hwnd, System.String lpString); [DllImport("user32.dll", EntryPoint = "FindWindow")] public static extern System.IntPtr FindWindow(System.String className, System.String windowName); public void Change() { //Get the window handle. var windowPtr = FindWindow(null, "WindowTitleChange");//打包时的ProductName,找到名字是WindowTitleChange的窗口
//Set the title text using the window handle.
SetWindowTextW(windowPtr, "测试代码");
}
}
联系客服