При запуске графического приложения (или открытии документа) в Windows заголовок окна формируется так, как указано в этом приложении (или в имени файла документа) и к нему часто добавляется дополнительная информация (например, название приложения, с помощью которого открыт документ).
И если окон открывается несколько и нужно периодически активировать то или другое окно, то лишняя информация в названии окон начинает серьезно мешать.
Здесь предлагается один из вариантов, как можно сделать так, чтобы заголовок окна при старте приложения (или открытия документа) принимал вид такой, какой наиболее подходит пользователю.
Наглядный пример работы такой оптимизации показан на рисунках.
Для реализации решения такой задачи можно использовать различные программы, и одной из удобной ( на мой взгляд, как не очень сильного программиста) является система "AutoIt3" (скриптовый язык с возможностью компилирования в автономный запускаемый модуль).
В качестве примера показан код, убирающий из заголовка окна текст "Конфигуратор":
;*******************************************************
; Автоматическая замена заголовка окна приложения
;*******************************************************
; Защита от повторного пуска
$g_szVersion = "Тест дублирования Заголовок 1с"
If WinExists($g_szVersion) Then Exit ; Он уже запущен
AutoItWinSetTitle($g_szVersion)
;Сделаем скрытой программу
;#NoTrayIcon
;Убираем с начала заголовка
$Str_clear ="Конфигуратор -"
Do
$var = WinList()
For $i = 1 to $var[0][0]
; Только видимые
If $var[$i][0] <> "" AND IsVisible($var[$i][1]) Then
$Zagolovok=$var[$i][0]
$result = StringInStr($Zagolovok, $Str_clear)
if $result > 0 Then
; if StringLeft( $Zagolovok, 2 )="1С" Then
$Zagolovok=StringRight($Zagolovok,StringLen($Zagolovok)-StringLen($Str_clear))
WinSetTitle($var[$i][0], "", $Zagolovok)
EndIf
EndIf
Next
Sleep(15000)
Until 1>1
Func IsVisible($handle)
If BitAnd( WinGetState($handle), 2 ) Then
Return 1
Else
Return 0
EndIf
EndFunc
Код несложно модифицировать под свои нужды, например, не очищать часть заголовка, а заменить на что-то другое.
Во вложении "Оптимизация заголовка окна приложения в Windows" находится более продвинутый модуль (с исходным кодом), который по конфигурационному файлу заменяет во всех открытых окнах различные части заголовка окна на то, что нужно пользователю.
Пример конфигурационного файла, меняющий заголовки окон так, как показано на снимках с экрана:
|Конфигуратор -||
|шаблон|ША|
|1С:Комплексная автоматизация 2|KA|
|(проект)||
|Управление нашей фирмой, редакция 1.6|УНФ|
|Инвентаризация РАЗРАБОТКА 2023 12|ИНВЕНТ|
Мне кажется, пояснение здесь не нужно.
В этом же вложении находится и утилита, позволяющая точно определить заголовок выбранного окна.
Примечание.
Иногда заголовок окна состоит из текста с дополнительной частью, например, в текущих версиях "1С Предприятие " (не путать с "1С Конфигурация") только часть заголовка окна состоит из текста, остальная - нет.