WinSetTitle

更改指定窗口的标题.

WinSetTitle NewTitle , WinTitle, WinText, ExcludeTitle, ExcludeText

参数

NewTitle

类型: 字符串

窗口的新标题. 如果只给出此参数, 那么使用上次找到的窗口.

WinTitle, WinText, ExcludeTitle, ExcludeText

类型: 字符串, 整数对象

如果这些都是空白或省略, 将使用上次找到的窗口. 否则, 为 WinTitle 指定窗口标题或其他条件, 来标识目标窗口, 和/或为 WinText 指定目标窗口的单个文本元素的子字符串(由包含的 Window Spy 实用程序显示).

ExcludeTitleExcludeText 可用于根据标题或文本排除一个或多个窗口. 它们的规范类似于 WinTitleWinText, 除了 ExcludeTitle 不识别除窗口标题之外的任何条件.

窗口标题和文本是区分大小写的. 默认情况下, 不检测隐藏窗口, 而检测隐藏文本元素, 除非使用 DetectHiddenWindowsDetectHiddenText 进行更改. 默认情况下, 窗口标题的任意位置包含 WinTitleExcludeTitle 就能形成匹配, 除非使用 SetTitleMatchMode 进行了更改.

错误处理

如果找不到窗口, 则抛出 TargetError.

如果无法应用更改, 则抛出 OSError.

备注

如果拥有窗口的应用程序频繁地更改标题, 那么对窗口标题的更改可能只是暂时的.

WinMove, WinGetTitle, WinGetText, ControlGetText, WinGetPos, 窗口函数

示例

更改记事本的标题. 这个例子在 Windows 11 或更高版本系统可能会失败, 因为它需要经典版本的记事本.

WinSetTitle("This is a new title", "Untitled - Notepad")

打开记事本, 等到记事本处于活动状态时, 更改标题. 这个例子在 Windows 11 或更高版本系统可能会失败, 因为它需要经典版本的记事本.

Run "notepad.exe"
WinWaitActive "Untitled - Notepad"
WinSetTitle "This is a new title" ; 使用 WinWaitActive 找到的窗口.

打开主窗口, 等待它激活并改变它的标题.

ListVars
WinWaitActive "ahk_class AutoHotkey"
WinSetTitle "This is a new title" ; 使用 WinWaitActive 找到的窗口.