Autorun
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 78, 79, 80 ... 95, 96, 97  Next  :| |:
Total Commander -> Плагины Total Commander

#1171:  Author: Loopback PostPosted: Fri Jan 11, 2019 14:23
    —
Выложил версию с поправленным плагином sysinfo, должна работать как та версия от 7 ноября.

По-поводу скорости, если интересно, выложил версию, в которой препроцессинг выполняется после проверки наличия /S= в комстроке, т.е. при запуске процесса поиска препроцессинг не производится. Также при запуске основного процесса показывается время выполнения препроцессинга.

При тестировании я никакой разницы не заметил. После этого поставил счетчик, на моей системе и скрипте чуть больше 100 строк время препроцессинга занимает в среднем 0,09 мс. Такую задержку визуально заметить невозможно. На медленных системах и более длинных скриптах время может быть больше, но вряд ли выйдет за десяток миллисекунд.

AutorunFinalizeSection никак не влияет, все директивы обрабатываются на этапе препроцессинга.

#1172:  Author: BeTePLocation: Санкт-Петербург PostPosted: Fri Jan 11, 2019 17:04
    —
Loopback wrote:
Думаю да, я так понимаю, интересен режим MOVE_LEGACY? Поскольку MOVE_RIGHT делал то, что сейчас в тотале по-умолчанию.

Я в этих режимах не очень разбираюсь.
Меня интересует перемещение кнопки в место, где она была до версии 7.50.

#1173:  Author: Loopback PostPosted: Fri Jan 11, 2019 17:37
    —
BeTeP
Да, это MOVE_LEGACY. Хорошо, поправлю, но наверно не сразу сейчас, там надо кое-что переделать.

#1174:  Author: FlasherLocation: Москва PostPosted: Fri Jan 11, 2019 21:08
    —
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
Такая команда не выполнится. А хотелось бы. В рамках ТС этот момент Гислер по нашей инициативе исправил.

#1175:  Author: Loopback PostPosted: Sat Jan 12, 2019 13:38
    —
Ну и хорошо.

По скорости, конечно можно и эту миллисекунду срезать, если совсем убрать проверку директивы, но не думаю, что при таких значениях есть смысл.

Flasher wrote:
Нельзя её как-то принудить?

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

Flasher wrote:
А хотелось бы.

Мне тоже Smile Это действительно было неудобно.

#1176:  Author: FlasherLocation: Москва PostPosted: Sat Jan 12, 2019 13:50
    —
Loopback wrote:
но не думаю, что при таких значениях есть смысл.
Видимо, нет.
Loopback wrote:
Наверно, в этом случае только пытаться скрыть после запуска, если она вообще это позволит.
Флаг снимается из разных программ управления окнами.

Loopback wrote:
Мне тоже Smile Это действительно было неудобно.
Эмм. В смысле "было"? Я прошу это исправить. Rolling Eyes

#1177:  Author: Loopback PostPosted: Sat Jan 12, 2019 15:19
    —
Flasher wrote:
Флаг снимается из разных программ управления окнами.

Значит только прятать после запуска. Но эта задача уже явно за пределами ShellExecute. Это надо искать окно запущенной программы и посылать ему сообщение. В принципе на Autoit должно решаться просто.

Flasher wrote:
Эмм. В смысле "было"? Я прошу это исправить.

Я это и имел в виду. Раз это теперь работает в тотале, нужно чтобы работало и здесь. Буду смотреть.

#1178:  Author: FlasherLocation: Москва PostPosted: Sat Jan 12, 2019 15:39
    —
Loopback wrote:
В принципе на Autoit должно решаться просто.
Ага. Или на AHK.

Loopback wrote:
Раз это теперь работает в тотале, нужно чтобы работало и здесь.
Отлично. Ждём'с.

#1179:  Author: enginigger PostPosted: Mon Jan 14, 2019 17:25
    —
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

#1180:  Author: FlasherLocation: Москва PostPosted: Tue Jan 15, 2019 00:31
    —
А при чём тут Loopback, если запрос мой?

Даже мысли не было искать по слову "фоновый" и уж тем более "startup". Беру на вооружение.
А вот выгружать лучше так:
Code:
If ProcessExist /F ...
ProcessTerminate /F /TT /A ...
EndIf

#1181:  Author: enginigger PostPosted: Tue Jan 15, 2019 10:01
    —
Flasher wrote:
А при чём тут Loopback, если запрос мой?

Пардон, промазал Smile

Flasher wrote:
А вот выгружать лучше так:
Code:
If ProcessExist /F ...
ProcessTerminate /F /TT /A ...
EndIf

У меня с моим вариантом проблем не было, ошибок не выскакивало, но Ваш тоже стоит рассмотреть.

#1182:  Author: FlasherLocation: Москва PostPosted: Tue Jan 15, 2019 10:17
    —
enginigger
Мой вариант по факту выгружает все процессы по заданному пути при наличии. Ваш лично у меня запускает новый экземпляр, торчит в процессах 25 сек. и выходит без закрытия остальных.
И если хотите полной портабельности, путь в кавычки брать таки стоит.

#1183:  Author: enginigger PostPosted: Tue Jan 15, 2019 10:50
    —
Flasher wrote:

Мой вариант по факту выгружает все процессы по заданному пути при наличии. Ваш лично у меня запускает новый экземпляр, торчит в процессах 25 сек. и выходит без закрытия остальных.

Ваш вариант у меня вызывает ошибку "runtime error 207 at 02eb8e32" при закрытии ТС. Sad
Flasher wrote:

И если хотите полной портабельности, путь в кавычки брать таки стоит.

Согласен

#1184:  Author: FlasherLocation: Москва PostPosted: Tue Jan 15, 2019 11:01
    —
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

#1185:  Author: enginigger PostPosted: Tue Jan 15, 2019 12:59
    —
Flasher wrote:
А вы прописали свой путь вместо ...?

Конечно Smile.
Запускается нормально, закрывается с ошибкой. Autorun последний, 2.03а, Win7x64, TC 9.21a, Everything 1.4.1.924 x64



Total Commander -> Плагины Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 78, 79, 80 ... 95, 96, 97  Next  :| |:
Page 79 of 97

Powered by phpBB © 2001, 2005 phpBB Group