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 ... 6, 7, 8 ... 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
gora



Joined: 30 Dec 2004
Posts: 442
Location: Иваново

Post (Separately) Posted: Thu Jul 17, 2014 20:02    Post subject: Reply with quote

Flasher
Ну если Вы не хотите уточнить свой вопрос, то мне ответить нечего, ибо я его не понял.
Flasher wrote:
Да ну? А перебор в цикле с завершением всех запущенных процессов с тем же именем?

Это я тоже не понял. В чем упрек?
А вообще конкурировать с Вами в скриптописательстве я не собираюсь. Давайте замнем и забудем мой код. Я его ни кому не навязываю и не утверждаю, что он "лучше чем...". Хорошо?
_________________
Win7 SP1 Ultimate x64, TC8.52a x64
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 13683
Location: Москва

Post (Separately) Posted: Thu Jul 17, 2014 20:30    Post subject: Reply with quote

gora wrote:
Ну если Вы не хотите уточнить свой вопрос, то мне ответить нечего, ибо я его не понял.
Я бы уточнил, если бы понял, что уточнять. Какой вопрос остался непонятым?
gora wrote:
Это я тоже не понял. В чем упрек?
В общности данного перебора:
gora wrote:
Code:
      For Each objProcess in colProcessList
         WScript.Sleep 100
         WSS.Run "taskkill /PID " & objProcess.ProcessID, 0
      Next
Сюда попадают все процессы с именами безотносительно указанных в начале кода путей.
gora wrote:
Хорошо?
А разобраться или доработать неинтересно? Smile
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
gora



Joined: 30 Dec 2004
Posts: 442
Location: Иваново

Post (Separately) Posted: Thu Jul 17, 2014 20:43    Post subject: Reply with quote

Flasher wrote:
А разобраться или доработать неинтересно?

Не-а
gora wrote:
Давайте замнем и забудем мой код

_________________
Win7 SP1 Ultimate x64, TC8.52a x64
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 13683
Location: Москва

Post (Separately) Posted: Thu Jul 17, 2014 20:49    Post subject: Reply with quote

ОК. Уже. Very Happy
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1130

Post (Separately) Posted: Thu Jul 17, 2014 21:20    Post subject: Reply with quote

gora wrote:
Skif_off wrote:
taskkill /PID - не очень корректно

Чем?

Штатно программы закрываем крестиком/Alt+F4, прибивать как-то нехорошо Smile
Back to top
View user's profile Send private message
gora



Joined: 30 Dec 2004
Posts: 442
Location: Иваново

Post (Separately) Posted: Thu Jul 17, 2014 21:29    Post subject: Reply with quote

Skif_off wrote:
прибивать как-то нехорошо

Я в комментариях написал, что процесс не убивается, а закрывается.
Команда taskkill /PID будет убивать в комплекте с ключом /F.
Можете проверить. В последнем случае папки, открытые в панелях после запуска ТС не будут сохраняться при перезапуске ТС, а без ключа /F идет закрытие равнозначное нажатию на красный крест в заголовке окна ТС.
_________________
Win7 SP1 Ultimate x64, TC8.52a x64
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1130

Post (Separately) Posted: Fri Jul 18, 2014 11:16    Post subject: Reply with quote

gora
Всегда думал, что taskkill - то же самое, что Завершить процесс, а taskkill /f - Завершить дерево.
Back to top
View user's profile Send private message
gora



Joined: 30 Dec 2004
Posts: 442
Location: Иваново

Post (Separately) Posted: Fri Jul 18, 2014 11:25    Post subject: Reply with quote

Skif_off wrote:
taskkill /f - Завершить дерево.

Нет.
Quote:
/F Принудительное завершение процесса
/T Завершение указанного процесса и всех его дочерних процессов.

Подробности taskkill /?
_________________
Win7 SP1 Ultimate x64, TC8.52a x64
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1130

Post (Separately) Posted: Wed Sep 03, 2014 01:38    Post subject: Reply with quote

Кто пользуется скриптом AutoIt или модификацией, обратите внимание: кажется, решена проблема определения нужной копии при нескольких запущенных ТС.

Добавлено спустя 50 минут:

Тысяча чертей Smile Всплыла другая проблема: при перезапуске с админскими правами ("*" в начале команды или меню ПКМ) получается болт, т.к. переменные окружения не наследуются.
Надо думать. Или передать параметром при старте скрипта, или воспользоваться nircmd elevate

Добавлено спустя много, 2014.09.12:

По ссылке выше есть диалог с gora, уточнение для повышения скорости работы и пара предположений, потенциально упрощающих работу и, главное - перезапуск с повышением прав. Попутное закрытие дочерних окон отдельных поиска и синхронизации вроде получилось, если кому интересно.
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1130

Post (Separately) Posted: Tue Oct 14, 2014 17:28    Post subject: Reply with quote

Исправленный и окончательный вариант на AutoIt, гарантированная работа с несколькими запущенными копиями ТС, возможно закрытие дочерних окон отдельных поиска и синхронизации.

Есть мысль прикрутить возможность парсить командную строку на предмет /i=имя.ini, но пока борюсь Smile
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1130

Post (Separately) Posted: Tue Dec 30, 2014 14:13    Post subject: Reply with quote

Поясните, пожалуйста, логику работы скрипта перезапуска:
1. Если ТС запущен с параметрами, при перезапуске нужно сохранить все или только /i= и /f=?

Добавлено спустя 5 минут:

2. В справке указано
Code:
TOTALCMD.EXE /i=wincmd.ini /f=wcx_ftp.ini

но реально сработает любой вариант:
Code:
TOTALCMD.EXE /i=wincmd.ini  f=wcx_ftp.ini
TOTALCMD.EXE  i=wincmd.ini /f=wcx_ftp.ini
TOTALCMD.EXE  i=wincmd.ini  f=wcx_ftp.ini

Это баг? Учитывать или надеятся, что все будут делать по справке?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 13683
Location: Москва

Post (Separately) Posted: Tue Dec 30, 2014 17:01    Post subject: Reply with quote

Skif_off
1. Только, конечно.
2. Ух ты. А я и не знал. Видимо, Гислер косую черту не ищет при парсинге. Пойду проверю.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1130

Post (Separately) Posted: Wed Dec 31, 2014 11:28    Post subject: Reply with quote

Думаю, второй вариант скрипта не тянет на публичный, т.к использование WinAPI накладывает определённые ограничения... Сразу не сообразил, т.к. у меня поддержка AutoIt (что забавно - отчасти и в рассчёте на подобные случаи) реализована с помощью плагина AutoRun:
Code:

If %AUTORUN_TCARCH% = 32 Then
  SetEnv /EV AutoIt %COMMANDER_PATH%\AutoIt3.exe
Else
  SetEnv /EV AutoIt %COMMANDER_PATH%\AutoIt3_x64.exe
EndIf


З.Ы. У выложенного выше Исправленный и окончательный вариант на AutoIt мне не нравилась необходимость дописывать в команду "%COMMANDER_EXE%", сейчас могу убрать (исходя из предположения, что скрипт будет лежать рядом с %COMMANDER_EXE%), но это добавит функцию строк на 20. Или ладно с ним?
Back to top
View user's profile Send private message
addhaloka



Joined: 09 Nov 2010
Posts: 169

Post (Separately) Posted: Thu Aug 27, 2015 14:56    Post subject: Reply with quote

ask-rus wrote:
Опробовал Tinny TC Restarter с 64-битным TC - всё в норме.

Пришлось его пропатчить, чтобы правильно работал с Impomezia TC Color Presets и 64-битным TC, т. е. чтобы restarttc.exe перезапускал по умолчанию TOTALCMD64.EXE, а не TOTALCMD.EXE.
На этом поначалу и остановился - в 32-битной сборке использую оригинальный, в 64-х - пропатченный - всё прекрасно. Very Happy Но тут, на досуге решил сделать сборку 32-64 - сразу же возник вопрос - как Tinny TC Restarter задействовать в ней? Нашёл решение (костыль конечно, но меня устраивает): переименовал оригинальный restarttc.exe в restarttc32.exe, а пропатченный для x64, соответственно в restarttc64.exe, для их запуска написал лаунчер, который запускает соответствующий рестартер в зависимости от того, из какого TC (32/64) вызван. Вроде нормально работает и с TC, и с TC Color Presets.
Если кого интересует, вышеописанное с исходником:
http://rghost.ru/private/6TZXTcJNR/adf14405d977836c9adb28e566ef2e6c
Back to top
View user's profile Send private message
addhaloka



Joined: 09 Nov 2010
Posts: 169

Post (Separately) Posted: Sat Jul 08, 2017 04:47    Post subject: Reply with quote

Quote:
Но тут, на досуге решил сделать сборку 32-64 - сразу же возник вопрос - как Tinny TC Restarter задействовать в ней? Нашёл решение (костыль конечно, но меня устраивает): переименовал оригинальный restarttc.exe в restarttc32.exe, а пропатченный для x64, соответственно в restarttc64.exe, для их запуска написал лаунчер, который запускает соответствующий рестартер в зависимости от того, из какого TC (32/64) вызван. Вроде нормально работает и с TC, и с TC Color Presets.

Для TC Color Presets 0.1.1.7 патч больше не нужен, и для Тотала он не обязателен, как уже понял - однако всё-равно оставил патченный вариант, как более универсальный, чтобы не плодить лишние команды в сборке 32-64 или не использовать Autorun.wdx.
Но, с Tinny TC Restarter уже начал бесить один момент - он почему-то всегда запускает TC, даже если нажать "Нет" в этом окне. Sad
С restartTC_Fasm и ReloadTC такого безобразия нет.
Больше всего нравится restartTC_Fasm отсюда, но он не работает на Win 8.1 (возможно, на Vista/Win 7 тоже). Оригинальный вообще не запускался на 8.1 - это я поправил, а вот дальше затык - процесс Тотала пришибается, а новый не создаётся. Буду пытаться разобраться.
Пока что перешёл на ReloadTC - пропатчил аналогично, как Tinny TC Restarter - вроде нормально работает. Плюс сделал доп. патч - заменил в импорте msvbvm50.dll на msvbvm60.dll (чтобы не плодить доп. библиотеки - msvbvm60.dll уже используется для TweakTC.
Вот набор, если кому надо: https://www.upload.ee/files/7203097/util_reloadtc_1_1_mod.7z.html
Если TC только x32, то может пригодится patched_msvbvm60\ReloadTC32.exe*, если же только x64, то ReloadTC64.exe* из patched / patched_msvbvm60.

* Переименуйте в это случае в ReloadTC.exe.

Если сборка 32-64, то используйте все 3 exe, ReloadTC.exe в данном случае лаунчер, по типу, как в пред. посте для Tinny TC Restarter.

p.s. msvbvm50/60, разумеется должна находится рядом с ReloadTC или в %PATH%.
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 ... 6, 7, 8 ... 10, 11, 12  Next
Page 7 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