Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Разное - [решено] Изменение заголовка окна программы

Ответить
Настройки темы
Разное - [решено] Изменение заголовка окна программы
ES ES вне форума

Ветеран


Сообщения: 971
Благодарности: 15

Профиль | Отправить PM | Цитировать


Добрый день!

Мне хотелось бы, чтобы можно было изменить заголовок главного окна запущенной программы.
То есть, чтобы вместо, например, "Калькулятор" у меня бы светилось "Супер-калькулятор".

Причем желательно, чтобы это можно было сделать из BAT-ника.
Например, батник, который сначала запускает мою программу, а потом меняет ей заголовок:

PHP код: Выделить весь код

calc.exe
заменить_заголовок 
"Супер-калькулятор" 

Подскажите возможно ли это сделать?
Существуют ли для этого какие-нибудь сервисные программы, утилиты?

Отправлено: 20:20, 15-10-2014

 

Забанен


Сообщения: 5828
Благодарности: 1242

Профиль | Цитировать


AutoIt скорее всего сможет. Но это универсальный инструмент, а не однокнопочный, с ним разбираться надо.

Отправлено: 20:26, 15-10-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Administrator


Сообщения: 25151
Благодарности: 3803

Профиль | Сайт | Отправить PM | Цитировать


Пример: Captain - рядом со скомпилированным исполняемым файлом есть ahk проект, правда от старой версии наверное.

-------
FAQ по Windows 10 .::. Настройка Центра обновления в Windows 10 .::. Чистая установка Windows 10 – пошаговая инструкция

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:40, 15-10-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата LehaMechanic:
с ним разбираться надо. »
Ничего особо сложного. В простых случаях:
Цитата:
Код: Выделить весь код
calc.exe
заменить_заголовок "Супер-калькулятор"
достаточно простого же:
читать дальше »
Код: Выделить весь код
AutoItSetOption("MustDeclareVars", 1)

Run("calc.exe")
WinWait("Калькулятор")
WinSetTitle("Калькулятор", "", "Супер-калькулятор")

Exit(0)

На AutoHotKey:
читать дальше »
Код: Выделить весь код
Run, calc.exe
WinWait, Калькулятор
WinSetTitle, Калькулятор, , Супер-калькулятор

Более сложный вариант — с запуском приложения и смены заголовка именно этого приложения (скажем — нам нужны пять калькуляторов, у трёх из которых свой заголовок; пример, понятно, надуманный). Сам скрипт:
читать дальше »
Код: Выделить весь код
#include <MsgBoxConstants.au3>

AutoItSetOption("MustDeclareVars", 1)


If Not $CmdLine[0] = 2 Then
	MsgBox($MB_OK + $MB_ICONINFORMATION, "Usage", "Usage: " & @CRLF & @CRLF & @ScriptName & " <File to execute> <New title>")
	Exit(1)
EndIf

Local $sFile     = $CmdLine[1]
Local $sNewTitle = $CmdLine[2]

If FileExists($sFile) Then
	Local $lPID = Run($sFile)

	If $lPID = 0 Then
		MsgBox($MB_OK + $MB_ICONERROR, "Error", "Can't execute file [" & $sFile & "].")
		Exit(2)
	EndIf

	Local $hWnd = 0

	Local $aWinList
	Local $i

	Do
		Sleep(100)

		$aWinList = WinList()

		For $i = 1 To $aWinList[0][0]
			If $lPID = WinGetProcess($aWinList[$i][1]) Then
				$hWnd = $aWinList[$i][1]
				ExitLoop
			EndIf
		Next
	Until $hWnd <> 0

	WinSetTitle($hWnd, "", $sNewTitle)
Else
	MsgBox($MB_OK + $MB_ICONERROR, "Error", "Can't find file [" & $sFile & "] for execute.")
EndIf

Exit(0)

и пример к этому скрипту для нашей надуманной ситуации с пятью калькуляторами:
читать дальше »
Код: Выделить весь код
calc.exe
calc.exe
Script.exe "c:\windows\system32\calc.exe" "Супер-калькулятор 1"
Script.exe "c:\windows\system32\calc.exe" "Супер-калькулятор 2"
Script.exe "c:\windows\system32\calc.exe" "Супер-калькулятор 3"
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:31, 15-10-2014 | #4


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Iska:
Более сложный вариант — с запуском приложения и смены заголовка именно этого приложения (скажем — нам нужны пять калькуляторов, у трёх из которых свой заголовок; пример, понятно, надуманный). »
То же самое на AutoHotKey:
читать дальше »
Код: Выделить весь код
IfNotEqual, 0, 2
{
	MsgBox, 64, Usage, Usage: %A_ScriptName% <File to execute> <New title>
	Exit, 1
}

IfNotExist, %1%
{
	MsgBox, 16, Error, Can't find file [%1%] for execute
	Exit, 2
}

Run, %1%, , UseErrorLevel, PID

IfEqual, ErrorLevel, ERROR
{
	MsgBox, 16, Error, Can't execute file [%1%]
	Exit, 3
}

WinWait, ahk_pid %PID%
WinSetTitle, , , %2%

(пример многим проще из-за внутренней поддержки AHK прямого доступа к окну по идентификатору процесса).
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:01, 15-10-2014 | #5

ES ES вне форума Автор темы

Ветеран


Сообщения: 971
Благодарности: 15

Профиль | Отправить PM | Цитировать


Спасибо, ребята за помощь.
У меня еще есть вопросы:

Цитата Iska:
Более сложный вариант — с запуском приложения и смены заголовка именно этого приложения (скажем — нам нужны пять калькуляторов, у трёх из которых свой заголовок; пример, понятно, надуманный). »
Именно этот вариант мне и нужен: я запускаю несколько экземпляров одной и той же программы (около 10 экземпляров), и между ними очень неудобно переключаться, так как заголовки у всех одинаковые. Пока найдешь нужную программу - замучаешься.
Поэтому и возникла идея с назначением заголовков - для удобства переключения.

Цитата Iska:
Более сложный вариант — с запуском приложения и смены заголовка именно этого приложения (скажем — нам нужны пять калькуляторов, у трёх из которых свой заголовок; пример, понятно, надуманный). Сам скрипт: »
а этот скрипт на чем написан?

Цитата Blast:
Пример: Captain - рядом со скомпилированным исполняемым файлом есть ahk проект, правда от старой версии наверное. »
Пока попробовал этот вариант: программой Captain.
Работает хорошо, но есть один недостаток: периодически назначенные мной заголовки слетают.
То есть надо, чтобы периодически они обновлялись, причем программа должна помнить у какого окна какой заголовок, это можно сделать?

Отправлено: 06:28, 27-10-2014 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата ES:
а этот скрипт на чем написан? »
На AutoIt.

Отправлено: 09:39, 27-10-2014 | #7

ES ES вне форума Автор темы

Ветеран


Сообщения: 971
Благодарности: 15

Профиль | Отправить PM | Цитировать


А как быть все-таки со следующей проблемой:

Цитата ES:
Работает хорошо, но есть один недостаток: периодически назначенные мной заголовки слетают.
То есть надо, чтобы периодически они обновлялись, причем программа должна помнить у какого окна какой заголовок, это можно сделать? »
В общем периодически заголовки слетают.
Например, выключил компьютер в сон, снова включил - заголовки сбросились...

Отправлено: 20:47, 09-11-2014 | #8

ES ES вне форума Автор темы

Ветеран


Сообщения: 971
Благодарности: 15

Профиль | Отправить PM | Цитировать


Цитата ES:
В общем периодически заголовки слетают »
Разобрался с программой KillOK.

В ней есть возможность замены заголовка окна.
В настройках указываются те заголовки, которые KillOK ищет, и новые заголовки, которые она устанавливает.
Причем она постоянно следит за окнами, и если заголовок у окна слетел (как у меня было в Captain), то KillOK снова заменит заголовок.

Отправлено: 07:47, 01-02-2015 | #9



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Разное - [решено] Изменение заголовка окна программы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Изменение размера окна программы запускаемой из ярлыка. Как то так... Microsoft Windows 7 8 03-05-2013 15:10
Интерфейс - Затемнение панели задач и заголовка окна, при развертывании на весь экран. amzir Microsoft Windows 7 5 01-10-2009 18:16
Win32 API - запретить изменение размеров окна Turman Программирование и базы данных 1 21-06-2009 21:00
Изменение положения открытия окна 12341234 Microsoft Windows 2000/XP 9 28-01-2007 14:32
Delphi - Delphi. Высота заголовка окна, изменение. Prisoner Программирование и базы данных 3 19-10-2003 03:52




 
Переход