Тема: AHK: Приложение меняет свой класс!
А что делать, если приложение после перезапуска меняет свой класс, а заголовок окна не является чем-то уникальным? Как достоверно определить нужное окно?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
А что делать, если приложение после перезапуска меняет свой класс, а заголовок окна не является чем-то уникальным? Как достоверно определить нужное окно?
А что у него не изменяется? Κακ Βы понимаете, что окно то самое?
Можно попробовать по ID или PID.
А что делать, если приложение после перезапуска меняет свой класс, а заголовок окна не является чем-то уникальным? Как достоверно определить нужное окно?
У этого приложения одно окно, или несколько?
Извините за задержку.
А что у него не изменяется? Κακ Βы понимаете, что окно то самое?
Мне и хочется узнать средства. Как узнаю? Запускаю программу, смотрю класс, закрываю программу, открываю программу, смотрю класс, а они... догадываетесь?
Можно попробовать по ID или PID.
PID тоже меняется, ID посмотрел, тоже разное...
У этого приложения одно окно, или несколько?
Одно. К примеру, возьмём программу ACDSee.
К примеру, возьмём программу ACDSee.
Тогда так:
WinGet, List, List
Loop % List
{
WinGet, ProcessName, ProcessName, % "ahk_id" List%A_Index%
if InStr(ProcessName, "ACDSee")
{
WinGetTitle, Title, % "ahk_id" List%A_Index%
MsgBox, % Title
Return
}
}
Return
Спасибо!
Действительно, имя процесса для меня является достаточно уникальным значением.
Наконец, заработало, НО после некоторых манипуляций, а именно:
- в своём скрипте искал причину неработоспособности, оказалась строка DetectHiddenWindows, On
- первый Return заменил на Break, второй Return удалил
...
- PROFIT!!1 , как говорится
в своём скрипте искал причину неработоспособности, оказалась строка DetectHiddenWindows, On
Да, у приложения, кроме одного видимого, могут иметься несколько скрытых окон.
Возникла проблема... а как быть с utorrent.exe?
Не работает, видимо, из-за символа "μ".
Поставил юникод-версию программы, скрипт сохранил в utf8, не работает всё равно...
И если просто класс указать, то не работает условие...
А где там символ "μ"? Я этой программой не пользуюсь, не в курсе.
Я этой программой не пользуюсь
Просто удивительно.
OFF: Ничего удивительного. Пока что всё, что мне требовалось скачать, находил без торрентов.
А где там символ "μ"?
В заголовке окна, который считывается WinGetTitle(). Это греческая буква "Мю" между Альфой и Омегой, началом и концом...
Я этой программой не пользуюсь, не в курсе.
А, ну ладно, нет жизненной необходимости, есть более важные вещи.
Upd. Уже всё решено. В последней версии класс постоянен, а "Мю" вводил, видимо, неправильно (из Таблицы символов). Чтобы правильно вставить символ, надо нажать Alt 0181 (on the numpad).
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться