Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Рестарт/перезапуск TC
Goto page Previous  1, 2, 3 ... 7, 8, 9, 10, 11, 12  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
addhaloka



Joined: 09 Nov 2010
Posts: 169

Post (Separately) Posted: Mon Jul 10, 2017 14:35    Post subject: Reply with quote

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. Немного поправил код, перезалил.
Back to top
View user's profile Send private message
addhaloka



Joined: 09 Nov 2010
Posts: 169

Post (Separately) Posted: Wed Aug 09, 2017 15:01    Post subject: Reply with quote

Разобрался с уникальной фичей (спасибо ManHunter за статью). Very Happy Правда, есть некоторые сомнения:
 Hidden text
Back to top
View user's profile Send private message
Duremar



Joined: 14 Aug 2014
Posts: 46

Post (Separately) Posted: Sun Feb 10, 2019 02:44    Post subject: Reply with quote

Avada wrote:

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

Если я правильно понял, должны разрядности меняться, но у меня одна и таже каждый раз загружается. Или же, на последних версиях тотала, этот способ уже не работает?
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Sun Feb 10, 2019 09:20    Post subject: Reply with quote

Duremar
Если это выполнено из 32-битного TC, он и будет перезапущен. Если из 64-битного — перезапускается он. Только об этом речь и шла. У меня этот способ сохраняется как резервный, постоянно я давно уже пользуюсь скриптом. В TC 9,21a под Win7x64 при правильном указании путей и переменных всё прекрасно работает.
Что такое " должны разрядности меняться", в данном контексте не вполне понял. Для перезапуска со сменой разрядности есть, например, отдельный способ, упомянутый в этой же теме (с. 5-7). Им и пользуюсь.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Jenialij



Joined: 16 Jul 2012
Posts: 6

Post (Separately) Posted: Mon Feb 25, 2019 16:58    Post subject: Reply with quote

Здравствуйте, Flasher.
Решил воспользоваться Вашим скриптом для перезагрузки TC, но не могу разобраться с ошибкой: "Параметры не соответствуют описанию!" при его вызове.

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



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Mon Feb 25, 2019 18:16    Post subject: Reply with quote

Jenialij
А с указанными в шапке скрипта параметрами для вызывающей скрипт кнопки или юзер-команды что? (Тем более, что в сообщении об ошибке — прямой намёк на это.) И в ридми TCFS2Tools.dll вы непонятно зачем полезли. Где-то в скрипте предлагалось менять его настройки по умолчанию?
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.


Last edited by Avada on Mon Feb 25, 2019 19:25; edited 1 time in total
Back to top
View user's profile Send private message
Jenialij



Joined: 16 Jul 2012
Posts: 6

Post (Separately) Posted: Mon Feb 25, 2019 18:46    Post subject: Reply with quote

Avada
Параметры указал такие же, как в шапке скрипта: "%X%P%Z" "%T" ""%N"" ""%M"
А в TCFS2.ini полез уже после, ибо не работало (обратил внимание на слова: "с обновлениями TCFS2.ini")
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Mon Feb 25, 2019 19:33    Post subject: Reply with quote

Jenialij
В приведённых параметрах последней кавычки нет. Может быть, конечно, это здесь неверно скопировано... И ещё раз: никакие INI-файлы не нужны ни до, ни после. (Не говоря про то, что в ридми ясно написано про имя конфига для TCFS2Tools.dll — это ни разу не TCFS2.ini, а повторение имени модуля.) Я не писал там ничего, и у меня скрипт прекрасно работает который год подряд. Конфигурация TC и Windows практически та же самая. Проверьте как следует кнопку.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Jenialij



Joined: 16 Jul 2012
Posts: 6

Post (Separately) Posted: Mon Feb 25, 2019 19:45    Post subject: Reply with quote

Avada
Последнюю кавычку уже сюда, на форум, "недоскопировал", в самих параметрах она есть.
Про ini понял.
Пересмотрел уже wincmd.ini - все секции, касающиеся History "редиректятся" в History.ini.
Загадка, но ведь ошибка именно в параметрах, как Вы верно отметили.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Tue Feb 26, 2019 08:26    Post subject: Reply with quote

Jenialij
Предъявите код кнопки (копировать в её контекстном меню, вставить текстом в сообщение). У меня есть сомнения, туда ли вы вообще записали параметры.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Jenialij



Joined: 16 Jul 2012
Posts: 6

Post (Separately) Posted: Tue Feb 26, 2019 11:48    Post subject: Reply with quote

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) скрипт работает только через кнопку с прописанным путём к скрипту с параметрами.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Tue Feb 26, 2019 13:41    Post subject: Reply with quote

Jenialij
Ошибка не в настройках, а в неполном понимании того, что куда нужно и можно записывать. Ключевой момент — имя INI-файла с em-командами. Для начала прочитайте хотя бы здесь, чем отличаются по области применения usercmd.ini и WCMD_RUS.ini и впредь последний файл (или подобные ему) как полный аналог usercmd.ini нигде и никогда не используйте. А если он для чего-то всё же нужен, помните о связанных с ним ограничениях. В "чистом" TC с английским языком, равно как и в русcком TC, использующем меню с именем, отличным от WCMD_RUS.MNU (например, расширенное), ВСЕ записи из этого INI-файла попросту игнорируются, программа его не видит, результат вами выше описан. Кроме того, если юзер-команда с одинаковым именем записана и в usercmd.ini, и в WCMD_RUS.ini, она берётся только из основного файла, даже если настройки внутри команды разные.
У меня сделана (разумеется, в usercmd.ini, предназначенном для любого языка и любого меню) юзер-команда со всеми параметрами, в кнопке указано её имя, всё прекрасно работает. К скрипту как таковому, насколько понимаю, всё это отношения не имеет никакого. Может быть, там и ещё что-то, но для начала с этим разберитесь.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Jenialij



Joined: 16 Jul 2012
Posts: 6

Post (Separately) Posted: Wed Feb 27, 2019 10:40    Post subject: Reply with quote

Avada
Спасибо, что уделили время, и за напутствие по "ini" тоже.
Учту.
Но дело в том, что команда em_, перенесенная в usercmd.ini, у меня все равно не работает.
Повторения имени команды тоже нет. В "чистом" TC файл WCMD_RUS.ini удалил, а в usercmd.ini всего одна запись. В обеих TC одинаковая ошибка.
Где-то у меня что-то не так. Пользуюсь многими скриптами и всё нормально, а тут какая-то незадача.
Пока повесил скрипт на кнопку, не используя команду em_. Скрипт со своей задачей отлично справляется, да и ощутимо быстрее аналогов перезапускает TC.
Еще раз спасибо.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Wed Feb 27, 2019 12:51    Post subject: Reply with quote

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

P.S. Одну разницу я всё-таки обнаружил: в одном из вариантов команды параметры записаны с дополнительными кавычками в начале и в конце:
param=""%X%P%Z" "%T" ""%N"" ""%M"""
Попробуйте это, хотя у меня всё работает с обычным набором кавычек (и даже после %M с одной вместо двух). В этом синтаксисе (сколько там где нужно кавычек), похоже, и причина (хотя пока непонятная).
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Jenialij



Joined: 16 Jul 2012
Posts: 6

Post (Separately) Posted: Wed Feb 27, 2019 15:02    Post subject: Reply with quote

Avada
Запуск команды em_RestartTC из командной строки TC также завершилось сообщением об ошибке.

А вот добавление еще одних кавычек проблему решило. Т.е. так:
param=""%X%P%Z" "%T" ""%N"" ""%M"""
Теперь все нормально.
Благодарю.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 7, 8, 9, 10, 11, 12  Next
Page 8 of 12

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group