Трей
Цитата: Имир от 22.10.2025, 08:19Mikhail, я имею в виду, как должен быть заполнен ini-файл, чтобы это было эквивалентно этой команде
WinTitle :="Имя окна"?
Mikhail, я имею в виду, как должен быть заполнен ini-файл, чтобы это было эквивалентно этой команде СкопированоWinTitle := Скопировано"Имя окна"?
Цитата: Имир от 22.10.2025, 08:25Mikhail, если я в ini-файл вписываю
WinTitle="Имя окна", то скрипт не работает, в отличие от командыWinTitle :="Имя окна"
Mikhail, если я в ini-файл вписываю СкопированоWinTitle="Имя окна", то скрипт не работает, в отличие от команды WinTitle := "Имя окна"
Цитата: Mikhail от 22.10.2025, 08:29Зачем тебе кавычки, зачем "имя окна" писать, пиши какое окно надо, без кавычек и все, как выше пример на скрине, это обычный блокнот, все работает, при запуске скрипта он скрытно сидит, когда запускается приложение которое прописано, появляется значок в трее, все.
Зачем тебе кавычки, зачем "имя окна" писать, пиши какое окно надо, без кавычек и все, как выше пример на скрине, это обычный блокнот, все работает, при запуске скрипта он скрытно сидит, когда запускается приложение которое прописано, появляется значок в трее, все.
Цитата: Имир от 22.10.2025, 08:34Mikhail, потому что у меня окно с именем "Имя окна")) И скрипт не работает хоть с кавычками, хоть без. Проверил несколько раз
Mikhail, потому что у меня окно с именем "Имя окна")) И скрипт не работает хоть с кавычками, хоть без. Проверил несколько раз
Цитата: Mikhail от 22.10.2025, 08:37Елки палки)), ну используй ahk_class, ahk_exe, ahk_pid, любое из них, где есть нормальное название окна.
Елки палки)), ну используй ahk_class, ahk_exe, ahk_pid, любое из них, где есть нормальное название окна.
Цитата: Mikhail от 22.10.2025, 08:53А ты кстати ini файл в какой кодировки используешь?, сохрани его в ANSI, он скорей всего кракозябры распознает, вместо кириллицы.
А ты кстати ini файл в какой кодировки используешь?, сохрани его в ANSI, он скорей всего кракозябры распознает, вместо кириллицы.
Цитата: Имир от 22.10.2025, 10:52Mikhail, спасибо большое! Действительно, проблема опять была в кодировке. Второй раз уже туплю. Мне пора бы уже запомнить, какие файлы в какой кодировке сохранять
Mikhail, спасибо большое! Действительно, проблема опять была в кодировке. Второй раз уже туплю. Мне пора бы уже запомнить, какие файлы в какой кодировке сохранять
Цитата: Имир от 22.10.2025, 14:55Mikhail, подскажите, пожалуйста, ещё один вопрос: как прописать в скрипте и ini-файле команду запуска программ? Типа такой команды
Run, C:\Путь\К\Программе.exe, , Hide, чтобы можно было редактировать в ini-файле
Mikhail, подскажите, пожалуйста, ещё один вопрос: как прописать в скрипте и ini-файле команду запуска программ? Типа такой команды СкопированоRun, C:\Путь\К\Программе.exe, , Hide, чтобы можно было редактировать в ini-файле
Цитата: Mikhail от 22.10.2025, 15:19#Persistent #SingleInstance ignore #NoTrayIcon SetTitleMatchMode, 2 DetectHiddenWindows, On IniRead, WinTitle, %A_ScriptDir%\config.ini, Settings, WinTitle, IniRead, AppPath, %A_ScriptDir%\config.ini, Settings, AppPath, if (AppPath != "" && AppPath != "ERROR") { Run, "%AppPath%", , Hide } Loop { WinWait, %WinTitle% hwnd := WinExist(WinTitle) if !hwnd continue WinGet, pid, PID, ahk_id %hwnd% Menu, Tray, NoStandard Menu, Tray, Add, Hide/Show Menu, Tray, Default, Hide/Show Menu, Tray, Add, Exit Menu, Tray, Click, 1 Menu, Tray, Icon Process, WaitClose, %pid% Menu, Tray, NoIcon } return Hide/Show: if WinExist(WinTitle) { if DllCall("IsWindowVisible","ptr",WinExist(WinTitle)) { WinHide, %WinTitle% } else { WinShow, %WinTitle% WinRestore, %WinTitle% WinActivate, %WinTitle% } } return Exit: ExitAppВ конфиге:
[Settings] WinTitle= AppPath=C:\Windows\System32\notepad.exe
#Persistent
#SingleInstance ignore
#NoTrayIcon
SetTitleMatchMode, 2
DetectHiddenWindows, On
IniRead, WinTitle, %A_ScriptDir%\config.ini, Settings, WinTitle,
IniRead, AppPath, %A_ScriptDir%\config.ini, Settings, AppPath,
if (AppPath != "" && AppPath != "ERROR")
{
Run, "%AppPath%", , Hide
}
Loop {
WinWait, %WinTitle%
hwnd := WinExist(WinTitle)
if !hwnd
continue
WinGet, pid, PID, ahk_id %hwnd%
Menu, Tray, NoStandard
Menu, Tray, Add, Hide/Show
Menu, Tray, Default, Hide/Show
Menu, Tray, Add, Exit
Menu, Tray, Click, 1
Menu, Tray, Icon
Process, WaitClose, %pid%
Menu, Tray, NoIcon
}
return
Hide/Show:
if WinExist(WinTitle) {
if DllCall("IsWindowVisible","ptr",WinExist(WinTitle)) {
WinHide, %WinTitle%
} else {
WinShow, %WinTitle%
WinRestore, %WinTitle%
WinActivate, %WinTitle%
}
}
return
Exit:
ExitApp
В конфиге:
[Settings] WinTitle= AppPath=C:\Windows\System32\notepad.exe
Цитата: Имир от 23.10.2025, 12:00Mikhail, добрый день! Спасибо огромное за помощь! А можно ещё добавить открытие окна в скрытом режиме? Добавил в код команду
WinHide, %WinTitle%, но она работает через раз. Добавил задержкуSleep 1000, стало лучше, но всё равно иногда не срабатывает. Подскажите, пожалуйста, как прописать правильно?Loop { WinWait, %WinTitle% Sleep 1000 WinHide, %WinTitle% hwnd := WinExist(WinTitle) if !hwnd continue
Mikhail, добрый день! Спасибо огромное за помощь! А можно ещё добавить открытие окна в скрытом режиме? Добавил в код команду СкопированоWinHide, %WinTitle%, но она работает через раз. Добавил задержку СкопированоSleep 1000, стало лучше, но всё равно иногда не срабатывает. Подскажите, пожалуйста, как прописать правильно?
Loop {
WinWait, %WinTitle%
Sleep 1000
WinHide, %WinTitle%
hwnd := WinExist(WinTitle)
if !hwnd
continue
Цитата: Mikhail от 23.10.2025, 12:28Имир, Привет.
Не понял что значит в скрытом режиме, он при запуске и так уже прячет приложение, при запуске hide прописан.
Имир, Привет.
Не понял что значит в скрытом режиме, он при запуске и так уже прячет приложение, при запуске hide прописан.
Цитата: Имир от 23.10.2025, 12:51Mikhail, не знаю, не прятал, пока я не прописал эту команду: ни при запуске AHK с открытым окном, ни при открытии окна с запущенным AHK, ни так ни так
Mikhail, не знаю, не прятал, пока я не прописал эту команду: ни при запуске AHK с открытым окном, ни при открытии окна с запущенным AHK, ни так ни так
Цитата: Mikhail от 23.10.2025, 12:57У меня прячет все, но то я проверяю на блокноте, может от приложения зависит не знаю, вот проверил на Resource Hacke. Ты в диспетчере проверь, может ahk висит скрытно, закрой его.
У меня прячет все, но то я проверяю на блокноте, может от приложения зависит не знаю, вот проверил на Resource Hacke. Ты в диспетчере проверь, может ahk висит скрытно, закрой его.