Страница 1 из 1
Привязка окна программы Executor к окну ТС
Добавлено: Вс янв 19, 2014 12:18
ice_daemon
есть программа Executor
как сделать чтобы она была всегда поверх окна ТС в определенном месте, при сворачивании ТС сворачивалась вместе с ним, при разворачивании ТС, соответственно разворачивалась?
Добавлено: Вс янв 19, 2014 14:36
Avada
ice_daemon
Предупреждение об оффтопе было сделано уже после
предыдущего поста. Результатов не видно. Про то, что подфорум "Секреты и советы" — не для задавания вопросов, говорилось десятки раз. Предлагаю также самостоятельно оценить, насколько точно заголовок "сторонняя программа всегда поверх окна ТС" соответствовал теме.
Замечание за нарушение
правил форума.
Теперь собственно по вопросу. Каким образом запрошенное поведение окна
абсолютно сторонней программы может быть задано со стороны TC — тайна, покрытая мраком. (Не говоря уже про то, зачем это может быть нужно.)
А программ с названием Executor, кстати, несколько. По одной даже есть на форуме
тема (разумеется, в "Программном обеспечении"). Вот в этой самой программе и надо разбираться с настройками — умеет она интегрироваться в TC или нет. Но сильно сомневаюсь, что там обнаружится что-то подобное запрошенному.
Тема перенесена в "Программное обеспечение" и переозаглавлена.
Добавлено: Вс янв 19, 2014 15:06
Flasher
Avada писал(а):Каким образом запрошенное поведение окна абсолютно сторонней программы может быть задано со стороны TC — тайна, покрытая мраком.
Я полагаю, что в для автоматизации несущественен тот факт, что это должно осуществляться силами ТС. На то есть AHK/AutoIt.
ice_daemon
Что есть такого особенного (за исключением визуальной части) в программе, что не реализуется средствами ТС (комстрока + псевдонимы и т.д.)?
Разве что индексированный поиск. Но проблема в том, что результаты на панель ТС не вывести, а значит, в контексте работы с ТС это событие неприменимо.
Добавлено: Вс янв 19, 2014 16:14
ice_daemon
Интересует именно индексированный поиск, т.к. прога понимает относительные пути, а в тотале накопилось много программ, и чтобы не кликать по панелькам лишний раз, хотел попробовать executor
Добавлено: Вс янв 19, 2014 16:45
Flasher
ice_daemon
Под поиском я понимал как раз нахождение того, что к самому ТС отношения не имеет. На свой вопрос касаемо псевдонимов я так ответа не получил.
Добавлено: Вс янв 19, 2014 17:01
ice_daemon
Ну у меня тотал используется как оболочка для запуска остальных программ, и хотелось бы прикрутить быстрый поиск по всем программам этим, а непосредственно к самому ТС прямого отношения executor не имеет, но хотелось бы чтобы в визуальном плане был прикручен к окну ТС
Добавлено: Вс янв 19, 2014 17:14
Flasher
ice_daemon
Я спрашиваю, чем функционально не устраивают псевдонимы (сокращенённые команды для запуска программ с параметрами) взамен этого поиска?
Добавлено: Вс янв 19, 2014 17:26
ice_daemon
Не сталкивался, но подозреваю, что их придется запоминать
Добавлено: Вс янв 19, 2014 17:28
Flasher
Разумеется, но зато не будет лишнего списка по фильтру и, тем самым, путаницы, дополнительных движений и ложных запусков.
Добавлено: Вс янв 19, 2014 18:07
ice_daemon
Но все же, нет идей по поводу эксекутора, ты вроде говорил что AutoIt может помочь?
Добавлено: Пн янв 20, 2014 00:08
Flasher
ice_daemon писал(а):ты вроде говорил что AutoIt может помочь?
Я впервые вас вижу, сударь. А писал я нечто иное.
AHK:
Код: Выделить всё
#SingleInstance force
#NoTrayIcon
#Persistent
#WinActivateForce
#IfWinExist ahk_class TTOTAL_CMD
DetectHiddenWindows, On
SetTimer, RunTopmost, 0
Return
RunTopmost:
ifWinActive, ahk_class TTOTAL_CMD
WinSet, Topmost, On, ahk_class TApplication
else
WinSet, Topmost, Off, ahk_class TApplication
WinGet, Arg, MinMax, ahk_class TTOTAL_CMD
If Arg = -1
WinMinimize, ahk_class TApplication
else
PostMessage, 0x112, 0xF120,,, ahk_class TApplication
Return
Со сворачиванием не помню как там.
В autorun.cfg прописать запуск утилиты и скрипта
Код: Выделить всё
ShellExec '%COMMANDER_PATH%\Utils\Executor\Executor.exe'
ShellExec /W:1 /T "%COMMANDER_PATH%\Scripts\AutoHotKey\AutoHotkey.exe" '"%COMMANDER_PATH%\Scripts\AutoHotKey\Executor_Topmost.ahk"'
и завершение AutoHotkey.exe и утилиты после
Pragma AutorunFinalizeSection
Код: Выделить всё
If ProcessExist /F '%COMMANDER_PATH%\Scripts\AutoHotKey\AutoHotkey.exe' Then
ProcessTerminate /F /TT /A '%COMMANDER_PATH%\Scripts\AutoHotKey\AutoHotkey.exe'
EndIf
If ProcessExist /F '%COMMANDER_PATH%\Utils\Executor\Executor.exe' Then
ProcessTerminate /F /A '%COMMANDER_PATH%\Utils\Executor\Executor.exe'
EndIf
Добавлено: Вт янв 21, 2014 15:55
ice_daemon
Flasher
Спасибо почти получилось
только вот функции ifWinMinimize в АНК что -то я пока не могу найти, к сожалению
Добавлено: Вт янв 21, 2014 16:46
Flasher
ice_daemon
Код: Выделить всё
WinGet, Arg, MinMax, ahk_class TApplication
If Arg = -1 ...
Добавлено: Вт янв 21, 2014 23:33
ice_daemon
Спасибо, только наверно
WinGet, Arg, MinMax, ahk_class TTOTAL_CMD
If Arg = -1 ...
т.е. надо при сворачивании ТС сворачивать программку, а при разворачивании , разворачивать, и еще вопрос куда этот код вставлять? после Return, в конце предыдущего примера?
если не затруднит, скинь финальный вариант, как ты это видишь, а то я что-то запутался совсем с этим АНК(
Добавлено: Ср янв 22, 2014 00:33
Flasher
Я сперва подумал, что нужно проверять свёрнутость окна утилиты, чтобы восстанавливать.
Выше поправил скрипт.
Но там не всё так просто. В ряде случаев придётся активировать окна по клику на строке заголовка, чтобы окно утилиты скрывалось при восстановленном ТС. Если переключать окна по ЛКМ на панели задач, то проблемы нет, а если по Alt+Tab/Esc, то будут нестыковки. Если переходить на окно ТС по Alt+Esc, то окно Executor не детектится.
Думаю, там что-то мудрить надо, чтобы всегда отрабатывало. Советую тебе
здесь и
здесь спросить.