View previous topic :: View next topic |
Author |
Message |
Loopback
Joined: 07 Sep 2009 Posts: 1309
|
(Separately) Posted: Fri Jan 11, 2019 14:23 Post subject: |
|
|
Выложил версию с поправленным плагином sysinfo, должна работать как та версия от 7 ноября.
По-поводу скорости, если интересно, выложил версию, в которой препроцессинг выполняется после проверки наличия /S= в комстроке, т.е. при запуске процесса поиска препроцессинг не производится. Также при запуске основного процесса показывается время выполнения препроцессинга.
При тестировании я никакой разницы не заметил. После этого поставил счетчик, на моей системе и скрипте чуть больше 100 строк время препроцессинга занимает в среднем 0,09 мс. Такую задержку визуально заметить невозможно. На медленных системах и более длинных скриптах время может быть больше, но вряд ли выйдет за десяток миллисекунд.
AutorunFinalizeSection никак не влияет, все директивы обрабатываются на этапе препроцессинга. |
|
Back to top |
|
|
BeTeP
Joined: 31 Mar 2005 Posts: 106 Location: Санкт-Петербург
|
(Separately) Posted: Fri Jan 11, 2019 17:04 Post subject: |
|
|
Loopback wrote: | Думаю да, я так понимаю, интересен режим MOVE_LEGACY? Поскольку MOVE_RIGHT делал то, что сейчас в тотале по-умолчанию. |
Я в этих режимах не очень разбираюсь.
Меня интересует перемещение кнопки в место, где она была до версии 7.50. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1309
|
(Separately) Posted: Fri Jan 11, 2019 17:37 Post subject: |
|
|
BeTeP
Да, это MOVE_LEGACY. Хорошо, поправлю, но наверно не сразу сейчас, там надо кое-что переделать. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Jan 11, 2019 21:08 Post subject: |
|
|
Loopback
Докладываю. SysInfo работает. GetWMIValue работает без кавычек для имени параметра.
Тестовую версию опробовал и визуально разницу уловить с предыдущей версией не смог. А время при запуске ТС по сути ничего не даёт (у меня 0,4 мс), т. к. не с чем сравнивать. По идее время нужно сверять у 2-х версий при вызове из запущенного ТС. Впрочем, я установил Autorun на чистый ТС и особой разницы со скоростью до установки не заметил, а значит, на скорость в моей сборке влияют другие плагины.
Ещё пару моментов.
1)
Code: | ShellExec /SW_HIDE /W:1 /T "%COMMANDER_PATH%\Utils\Everything\Everything.exe" | Почему-то окно Everything не скрывается. Как будто сама программа блокирует скрытие. Нельзя её как-то принудить? С минимизацией, например, проблем нет.
Причём такое поведение было не всегда. Закономерности по версиям и т. п. не выявил.
2) Ранее поднимался вопрос раскрытия пустых переменных среды в рамках одного пути в командах (прежде всего ShellExec и Process...). Пример:
Code: | SetEnv EMPTY
ShellExec %SYSTEMROOT%\SYSTEM32\notepad%EMPTY%.exe | Такая команда не выполнится. А хотелось бы. В рамках ТС этот момент Гислер по нашей инициативе исправил. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1309
|
(Separately) Posted: Sat Jan 12, 2019 13:38 Post subject: |
|
|
Ну и хорошо.
По скорости, конечно можно и эту миллисекунду срезать, если совсем убрать проверку директивы, но не думаю, что при таких значениях есть смысл.
Flasher wrote: | Нельзя её как-то принудить? |
Параметр скрытия задается в системной функции запуска программы. Если запускаемая программа на него не отреагировала, значит в ней есть какой-то блокирующий механизм. Никакого дополнительного принуждения не предусмотрено. Наверно, в этом случае только пытаться скрыть после запуска, если она вообще это позволит.
Flasher wrote: | А хотелось бы. |
Мне тоже Это действительно было неудобно. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jan 12, 2019 13:50 Post subject: |
|
|
Loopback wrote: | но не думаю, что при таких значениях есть смысл. | Видимо, нет.
Loopback wrote: | Наверно, в этом случае только пытаться скрыть после запуска, если она вообще это позволит. | Флаг снимается из разных программ управления окнами.
Loopback wrote: | Мне тоже Это действительно было неудобно. | Эмм. В смысле "было"? Я прошу это исправить. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1309
|
(Separately) Posted: Sat Jan 12, 2019 15:19 Post subject: |
|
|
Flasher wrote: | Флаг снимается из разных программ управления окнами. |
Значит только прятать после запуска. Но эта задача уже явно за пределами ShellExecute. Это надо искать окно запущенной программы и посылать ему сообщение. В принципе на Autoit должно решаться просто.
Flasher wrote: | Эмм. В смысле "было"? Я прошу это исправить. |
Я это и имел в виду. Раз это теперь работает в тотале, нужно чтобы работало и здесь. Буду смотреть. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jan 12, 2019 15:39 Post subject: |
|
|
Loopback wrote: | В принципе на Autoit должно решаться просто. | Ага. Или на AHK.
Loopback wrote: | Раз это теперь работает в тотале, нужно чтобы работало и здесь. | Отлично. Ждём'с. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
enginigger
Joined: 18 Dec 2010 Posts: 44
|
(Separately) Posted: Mon Jan 14, 2019 17:25 Post subject: |
|
|
Loopback
Code: | ShellExec /SW_HIDE /W:1 /T "%COMMANDER_PATH%\Utils\Everything\Everything.exe" |
у Everything есть параметр комстроки -startup, при котором он запускается в фоне.
У меня запускается так:
Code: | ShellExec %commander_path%\prg\everything\everything.exe -startup |
А выгружается так:
Code: | Pragma AutorunFinalizeSection
ShellExec %commander_path%\prg\everything\everything.exe -exit |
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jan 15, 2019 00:31 Post subject: |
|
|
А при чём тут Loopback, если запрос мой?
Даже мысли не было искать по слову "фоновый" и уж тем более "startup". Беру на вооружение.
А вот выгружать лучше так: Code: | If ProcessExist /F ...
ProcessTerminate /F /TT /A ...
EndIf |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
enginigger
Joined: 18 Dec 2010 Posts: 44
|
(Separately) Posted: Tue Jan 15, 2019 10:01 Post subject: |
|
|
Flasher wrote: | А при чём тут Loopback, если запрос мой? |
Пардон, промазал
Flasher wrote: | А вот выгружать лучше так: Code: | If ProcessExist /F ...
ProcessTerminate /F /TT /A ...
EndIf |
|
У меня с моим вариантом проблем не было, ошибок не выскакивало, но Ваш тоже стоит рассмотреть. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jan 15, 2019 10:17 Post subject: |
|
|
enginigger
Мой вариант по факту выгружает все процессы по заданному пути при наличии. Ваш лично у меня запускает новый экземпляр, торчит в процессах 25 сек. и выходит без закрытия остальных.
И если хотите полной портабельности, путь в кавычки брать таки стоит. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
enginigger
Joined: 18 Dec 2010 Posts: 44
|
(Separately) Posted: Tue Jan 15, 2019 10:50 Post subject: |
|
|
Flasher wrote: |
Мой вариант по факту выгружает все процессы по заданному пути при наличии. Ваш лично у меня запускает новый экземпляр, торчит в процессах 25 сек. и выходит без закрытия остальных. |
Ваш вариант у меня вызывает ошибку "runtime error 207 at 02eb8e32" при закрытии ТС.
Flasher wrote: |
И если хотите полной портабельности, путь в кавычки брать таки стоит. |
Согласен |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jan 15, 2019 11:01 Post subject: |
|
|
enginigger wrote: | Ваш вариант у меня вызывает ошибку "runtime error 207 at 02eb8e32" при закрытии ТС. | А вы прописали свой путь вместо ...?
Code: | If ProcessExist /F '%commander_path%\prg\everything\everything.exe' Then
ProcessTerminate /F /TT /A '%commander_path%\prg\everything\everything.exe'
EndIf |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
enginigger
Joined: 18 Dec 2010 Posts: 44
|
(Separately) Posted: Tue Jan 15, 2019 12:59 Post subject: |
|
|
Flasher wrote: | А вы прописали свой путь вместо ...? |
Конечно .
Запускается нормально, закрывается с ошибкой. Autorun последний, 2.03а, Win7x64, TC 9.21a, Everything 1.4.1.924 x64 |
|
Back to top |
|
|
|