Рестарт/перезапуск TC
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 7, 8, 9, 10, 11, 12  Next  :| |:
Total Commander -> Автоматизация Total Commander

#106:  Author: addhaloka PostPosted: Mon Jul 10, 2017 14:35
    —
Quote:
Больше всего нравится restartTC_Fasm отсюда, но он не работает на Win 8.1 (возможно, на Vista/Win 7 тоже). Оригинальный вообще не запускался на 8.1 - это я поправил, а вот дальше затык - процесс Тотала пришибается, а новый не создаётся. Буду пытаться разобраться.

Проблема в ReadProcessMemory - на осях выше XP как-то не так работает.
Кстати, благодаря такому способу получения данных о процессе TC restartTC_Fasm обладает уникальной фичей, отсутствующей у Tinny TC Restarter или ReloadTC - если TC был запущен с параметрами, то при перезапуске они сохраняются.
Пока не разобрался с ReadProcessMemory (впрочем, ещё даже не начинал Very Happy ), сделал простой вариант, без главной фичи, но на мой взгляд не хуже других рестартеров + минимализм - код макс. упрощён, в итоге exeшник весит всего 1 Кб.
Если кого интересует, вот с исходником: https://www.upload.ee/files/7211508/restartTC_Fasm_simplified.7z.html

upd. Немного поправил код, перезалил.

#107:  Author: addhaloka PostPosted: Wed Aug 09, 2017 15:01
    —
Разобрался с уникальной фичей (спасибо ManHunter за статью). Very Happy Правда, есть некоторые сомнения:
 Hidden text

#108:  Author: Duremar PostPosted: Sun Feb 10, 2019 02:44
    —
Avada wrote:

Таким образом единственным средством, которое везде и всюду перезапускает именно то, что нужно, не требует дополнительных em-команд и при этом не глючит, оказался у меня Tinny TC Restarter. Команду (со своими именами и путями) использую такую:
%Commander_path%\Utils\TCRestarter\TinnyTCRestarter.exe 300 %Commander_EXE%

Если я правильно понял, должны разрядности меняться, но у меня одна и таже каждый раз загружается. Или же, на последних версиях тотала, этот способ уже не работает?

#109:  Author: AvadaLocation: Россия, Саратов PostPosted: Sun Feb 10, 2019 09:20
    —
Duremar
Если это выполнено из 32-битного TC, он и будет перезапущен. Если из 64-битного — перезапускается он. Только об этом речь и шла. У меня этот способ сохраняется как резервный, постоянно я давно уже пользуюсь скриптом. В TC 9,21a под Win7x64 при правильном указании путей и переменных всё прекрасно работает.
Что такое " должны разрядности меняться", в данном контексте не вполне понял. Для перезапуска со сменой разрядности есть, например, отдельный способ, упомянутый в этой же теме (с. 5-7). Им и пользуюсь.

#110:  Author: Jenialij PostPosted: Mon Feb 25, 2019 16:58
    —
Здравствуйте, Flasher.
Решил воспользоваться Вашим скриптом для перезагрузки TC, но не могу разобраться с ошибкой: "Параметры не соответствуют описанию!" при его вызове.

Win 7 x64
TC 9.21 x32
Пути к History.ini и TCFS2.exe указал свои.
TCFS2Tools загружается через Autorun.
Настройки TCFS2.ini дефолтные. В Readme_TCFS2Tools сказано: "Для использования возможностей TCFS2Tools добавьте следующие команды в секцию [Items] файла конфигурации TCFS2:..."
Добавлял эти команды, но не помогло.
Прошу помощи.

#111:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Feb 25, 2019 18:16
    —
Jenialij
А с указанными в шапке скрипта параметрами для вызывающей скрипт кнопки или юзер-команды что? (Тем более, что в сообщении об ошибке — прямой намёк на это.) И в ридми TCFS2Tools.dll вы непонятно зачем полезли. Где-то в скрипте предлагалось менять его настройки по умолчанию?


Last edited by Avada on Mon Feb 25, 2019 19:25; edited 1 time in total

#112:  Author: Jenialij PostPosted: Mon Feb 25, 2019 18:46
    —
Avada
Параметры указал такие же, как в шапке скрипта: "%X%P%Z" "%T" ""%N"" ""%M"
А в TCFS2.ini полез уже после, ибо не работало (обратил внимание на слова: "с обновлениями TCFS2.ini")

#113:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Feb 25, 2019 19:33
    —
Jenialij
В приведённых параметрах последней кавычки нет. Может быть, конечно, это здесь неверно скопировано... И ещё раз: никакие INI-файлы не нужны ни до, ни после. (Не говоря про то, что в ридми ясно написано про имя конфига для TCFS2Tools.dll — это ни разу не TCFS2.ini, а повторение имени модуля.) Я не писал там ничего, и у меня скрипт прекрасно работает который год подряд. Конфигурация TC и Windows практически та же самая. Проверьте как следует кнопку.

#114:  Author: Jenialij PostPosted: Mon Feb 25, 2019 19:45
    —
Avada
Последнюю кавычку уже сюда, на форум, "недоскопировал", в самих параметрах она есть.
Про ini понял.
Пересмотрел уже wincmd.ini - все секции, касающиеся History "редиректятся" в History.ini.
Загадка, но ведь ошибка именно в параметрах, как Вы верно отметили.

#115:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Feb 26, 2019 08:26
    —
Jenialij
Предъявите код кнопки (копировать в её контекстном меню, вставить текстом в сообщение). У меня есть сомнения, туда ли вы вообще записали параметры.

#116:  Author: Jenialij PostPosted: Tue Feb 26, 2019 11:48
    —
Avada
Команда:
[em_RestartTC]
cmd=%commander_path%\Scripts\TC\RestartTC.vbs
param="%X%P%Z" "%T" ""%N"" ""%M""
Menu=Перезапуск TC
***
Провел такой эксперимент - взял "чистый" TC 9.21 x32 (стандартно установил).
Внесенные изменения:
1) редирект секций [left], [right], [RightHistory], [LeftHistory] в History.ini;
2) установка Autorun.wdx с подключением в автозагрузку в цветовой схеме + автозагрузка TCFS2Tools.dll.
3) создание на панели TC кнопки:
cmd=%commander_path%\Scripts\TC\RestartTC.vbs
param="%X%P%Z" "%T" ""%N"" ""%M""

Скрипт заработал.
Значит, где-то в настройках "моего" TC ошибка. Но где?
Потом подумал: но в "своём" TC для запуска скрипта я использую команду em_, а в "чистом" TC - кнопку с указанием пути к скрипту с параметрами.
Казалось бы, какая разница? Но...
Создал в "чистом TC" файл WCMD_RUS.ini с единственной командой и прописал ее в кнопке.
Скрипт перестал работать, ошибка - "Параметры не соответствуют описанию!"

Повторил это всё многократно на "чистом" и "своём" TC.
Результат:
1) скрипт не работает через команду em_ (ни через кнопку, ни через меню WCMD_RUS.MNU )
2) скрипт работает только через кнопку с прописанным путём к скрипту с параметрами.

#117:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Feb 26, 2019 13:41
    —
Jenialij
Ошибка не в настройках, а в неполном понимании того, что куда нужно и можно записывать. Ключевой момент — имя INI-файла с em-командами. Для начала прочитайте хотя бы здесь, чем отличаются по области применения usercmd.ini и WCMD_RUS.ini и впредь последний файл (или подобные ему) как полный аналог usercmd.ini нигде и никогда не используйте. А если он для чего-то всё же нужен, помните о связанных с ним ограничениях. В "чистом" TC с английским языком, равно как и в русcком TC, использующем меню с именем, отличным от WCMD_RUS.MNU (например, расширенное), ВСЕ записи из этого INI-файла попросту игнорируются, программа его не видит, результат вами выше описан. Кроме того, если юзер-команда с одинаковым именем записана и в usercmd.ini, и в WCMD_RUS.ini, она берётся только из основного файла, даже если настройки внутри команды разные.
У меня сделана (разумеется, в usercmd.ini, предназначенном для любого языка и любого меню) юзер-команда со всеми параметрами, в кнопке указано её имя, всё прекрасно работает. К скрипту как таковому, насколько понимаю, всё это отношения не имеет никакого. Может быть, там и ещё что-то, но для начала с этим разберитесь.

#118:  Author: Jenialij PostPosted: Wed Feb 27, 2019 10:40
    —
Avada
Спасибо, что уделили время, и за напутствие по "ini" тоже.
Учту.
Но дело в том, что команда em_, перенесенная в usercmd.ini, у меня все равно не работает.
Повторения имени команды тоже нет. В "чистом" TC файл WCMD_RUS.ini удалил, а в usercmd.ini всего одна запись. В обеих TC одинаковая ошибка.
Где-то у меня что-то не так. Пользуюсь многими скриптами и всё нормально, а тут какая-то незадача.
Пока повесил скрипт на кнопку, не используя команду em_. Скрипт со своей задачей отлично справляется, да и ощутимо быстрее аналогов перезапускает TC.
Еще раз спасибо.

#119:  Author: AvadaLocation: Россия, Саратов PostPosted: Wed Feb 27, 2019 12:51
    —
Jenialij
У меня очень похожая на вашу конфигурация, вплоть до редиректа части секций (ну, пути несколько другие), и всё прекрасно работает.
Что в данном случае теперь означает "всё равно не работает"? Как вы её пытаетесь заставить работать?
Оставим на минуту в покое кнопку (равно как и меню). Попытайтесь попросту запустить из командной строки TC вашу команду em_RestartTC. Результат? И простенький вопрос: у вас другие пользовательские команды (любые) работают?
Между прочим, вы привели выше не код кнопки, а, насколько понимаю, две выдернутых из BAR-файла строки. Не надо так делать, весь код дайте (выше сказано — как, да и на форуме сто раз пояснялось): все восемь строк, включая пустые.

P.S. Одну разницу я всё-таки обнаружил: в одном из вариантов команды параметры записаны с дополнительными кавычками в начале и в конце:
param=""%X%P%Z" "%T" ""%N"" ""%M"""
Попробуйте это, хотя у меня всё работает с обычным набором кавычек (и даже после %M с одной вместо двух). В этом синтаксисе (сколько там где нужно кавычек), похоже, и причина (хотя пока непонятная).

#120:  Author: Jenialij PostPosted: Wed Feb 27, 2019 15:02
    —
Avada
Запуск команды em_RestartTC из командной строки TC также завершилось сообщением об ошибке.

А вот добавление еще одних кавычек проблему решило. Т.е. так:
param=""%X%P%Z" "%T" ""%N"" ""%M"""
Теперь все нормально.
Благодарю.



Total Commander -> Автоматизация Total Commander


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

Goto page Previous  1, 2, 3 ... 7, 8, 9, 10, 11, 12  Next  :| |:
Page 8 of 12

Powered by phpBB © 2001, 2005 phpBB Group