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, 4, 5, 6 ... 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 Mar 07, 2013 10:54    Post subject: Reply with quote

KopBuH
Ваш вариант не закрывает ТС, а убивает его процесс. При этом после запуска не сохраняться открытые перед "смертью" директории на панелях при повторном запуске, в отличии от закрытия ТС через посыл Alt+F4.
_________________
Win7 SP1 Ultimate x64, TC8.52a x64
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1079
Location: Донецк

Post (Separately) Posted: Thu Mar 07, 2013 14:49    Post subject: Reply with quote

Quote:
в отличии от закрытия ТС через посыл Alt+F4.

Поправка - через cm_Exit (ибо Alt+F4 не при всяких настройках закрывает ТС).

Quote:
не сохраняться открытые перед "смертью" директории

У меня сохраняет.

Quote:
KopBuH
Ваш вариант не закрывает ТС, а убивает его процесс.

Самое плохое - этот вариант не закрывает и не убивает процесс 32-х битного ТС под 64-битной Windows.
Непонятный нюанс. В предложенном варианте процесс не убивается (не найден PID) и новая копия Тотала не запускается. А вот если добавить вначале перед comspec скрытие консольных окон hidcon - запускается новая версия Тотала, но старая не убивается. Почему? Ещё не сталкивался чтобы скрыватель консоли так влиял на консольную команду.
И почему PID не находится? Taskill ведь может убивать 32-х битные процессы.
_________________
Total Commander DreamLair - мечтать всегда, мыслить тотально, быть командиром жизни
Win10 x64 HE SL Eng | TC DreamLair eternal pre-α (9.22a x32+x64) | AkelPad Lair (4.9.9 x86) | Cent Browser Lair


Last edited by LonerD on Thu Mar 07, 2013 16:29; edited 1 time in total
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Thu Mar 07, 2013 15:06    Post subject: Reply with quote

gora
LonerD
Думаю, и до этого, и сейчас сказано уже достаточно, чтобы этот вариант в качестве рекомендуемого больше не рассматривать.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1079
Location: Донецк

Post (Separately) Posted: Thu Mar 07, 2013 16:31    Post subject: Reply with quote

Avada
А мне наоборот - вариан реализации кажется весьма интересным, но пока не полностью работоспособным.

Flasher
Если ещё актуально по скрипту.
Погонял под Win8x64, Тотал 32-х и 64-х битный, с последним TwinKey (курсор в неактивной панели в TwinKey отключен, в Тотале - включен).
Положение курсора сохраняется только на файлах, но не на каталогах. Внутри архивов положение курсора не сохраняется.
Если файлов в панели много и курсор находится не на первых файлах - то после перезапуска положение его сохраняется, но на экране он не виден, нужно крутнуть чуток вниз список файлов.

Если добавить в авторан активацию Virtual Panel
Code:
# Activate Virtual Panel Plugin
CommandExec /CD "\\\Virtual Panel"
Sleep 50
SendCommand cm_GotoPreviousDir

то при при положении курсора на правой панели после запуска открывается совсем не то, что ожидалось; при положении курсора на левой панели - положение курсора сохраняется через раз.

В целом даже без этих строк после нескольких десятков перезапусков было
_________________
Total Commander DreamLair - мечтать всегда, мыслить тотально, быть командиром жизни
Win10 x64 HE SL Eng | TC DreamLair eternal pre-α (9.22a x32+x64) | AkelPad Lair (4.9.9 x86) | Cent Browser Lair
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Thu Mar 07, 2013 16:48    Post subject: Reply with quote

LonerD wrote:
Если ещё актуально по скрипту.
А где я отменял актуальность? Smile Это Avada написал, что погоняет на других машинах, но так, по всей видимости, и не погонял..

LonerD wrote:
Положение курсора сохраняется только на файлах, но не на каталогах.
Единственное, что можно делать, чтобы оставлять курсор на папках, это входить и выходить из них (причём менять фокус, если папки в обеих панелях). Сомневаюсь, что тебе такое понравится, да и остальным тоже.

LonerD wrote:
Внутри архивов положение курсора не сохраняется.
Знаю, не предусмотрено ТС. Только фокус активности сохраняется (это тоже в какой-то мере положение).

LonerD wrote:
но на экране он не виден, нужно крутнуть чуток вниз список файлов.
Крутить ничего не надо, достаточно воспользоваться одинарным нажатием вверх/вниз.

LonerD wrote:
Если добавить в авторан активацию...
на левой панели - положение курсора сохраняется через раз
Ещё бы. Кто последний, тот и водит. Либо скрипт, либо Autorun.
Как вариант - ставить решётку в autorun.cfg перед указанной командой. Но это уже для твоего частного случая.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Thu Mar 07, 2013 18:08    Post subject: Reply with quote

Flasher wrote:
Это Avada написал, что погоняет на других машинах, но так, по всей видимости, и не погонял..

Подробный анализ требует времени, которого у меня пока в достаточном количестве нет. Кое-что, впрочем, сообщить могу.
Упоминавшаяся уже утилита ReloadTC, да, не работает в 64-битном TC, но зато обладает одним весьма ценным качеством, которого я у конкурентов не наблюдаю. Поясню на примере.
Допустим, у нас есть TC, который в норме запускается без всяких специальных параметров, с подхватыванием INI-файла, лежащего в папке TC. Допустим также, что предусмотрен вызов (в том числе через ярлык) того же самого TC с минимальными настройками, близкими у умолчальным. Для такого тестового запуска значениями параметров /I и /F указаны другие INI-файлы.
Итак, ярлыком запускается (с параметрами) тестовая версия TC. Создадим там кнопку для перезапуска. Если в ней используется ReloadTC, он именно этот самый TC с этими самыми параметрами опять и перезапустит. Если используются средства, где указана переменная %Commander_EXE%, после закрытия окна тестового TC запущен будет другой, полнофункциональный вариант той же копии TC (тот же экзешник, но без параметров и, следовательно, с другими INI-файлами). И скрипт, и Tinny TC Restarter работают именно так.
Интересно, можно ли тут совместить обе полезности?
На форуме проблема анализа командной строки поднималась, к примеру, здесь, но это было очень давно. Что с тех пор изменилось? Что можно сделать сейчас при запуске утилиты/скрипта из текущей копии TC? Для основного файла настроек есть переменная %COMMANDER_INI%. Для настроек FTP аналога нет, но этим в первом приближении пока что можно пренебречь.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Thu Mar 07, 2013 18:36    Post subject: Reply with quote

Avada wrote:
ReloadTC, он именно этот самый TC с этими самыми параметрами опять и перезапустит.
"Этот самый" он запустить никак не может, он аналогично создаёт новый процесс, ибо старый уже был захлопнут.
Avada wrote:
%Commander_EXE%, после закрытия окна тестового TC запущен будет другой, полнофункциональный вариант той же копии TC (тот же экзешник, но без параметров и, следовательно, с другими INI-файлами). И скрипт, и Tinny TC Restarter работают именно так.
В моём случае не без параметров, а с параметрами, но не теми, с какими был запущен Тотал через ярлык.
Avada wrote:
можно ли тут совместить обе полезности?
Совмещение противоречит сути возврата, т.к. ТС запускается с определёнными параметрами /L= /R= /P=L/R, которые также могут фигурировать в активном ТС.
Если речь идёт только об /I и /F, то, в принципе, их вытащить и подставить в комстроку можно, только в данном случае PID из Auotorun точно потребуется.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Thu Mar 07, 2013 18:41    Post subject: Reply with quote

Flasher wrote:
Если речь идёт только об /I и /F, то, в принципе, из вытащить и подставить в комстроку можно, только в данном случае PID из Auotorun точно потребуется.

Да, речь идёт только об этом.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1079
Location: Донецк

Post (Separately) Posted: Thu Mar 07, 2013 23:45    Post subject: Reply with quote

Flasher
Quote:
А где я отменял актуальность?

Нигде.

Quote:
Сомневаюсь, что тебе такое понравится, да и остальным тоже.

Тоже сомневаюсь. Тогда для себя не вижу смысла в использовании скрипта. Crying or Very sad Желаемый результат с ним получается не всегда - не будешь же каждый раз следить где находится курсор (на файле или на каталоге) при перезапуске.
_________________
Total Commander DreamLair - мечтать всегда, мыслить тотально, быть командиром жизни
Win10 x64 HE SL Eng | TC DreamLair eternal pre-α (9.22a x32+x64) | AkelPad Lair (4.9.9 x86) | Cent Browser Lair
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Fri Mar 08, 2013 01:15    Post subject: Reply with quote

Avada
Ясно. Сделать - сделаю, но вот только не знаю, как быть - править старый пост или запостить MIME?

LonerD
Весьма странная попытка увидеть смысл использования только там, где всё без исключения работает. Может, и от ТС откажешься? Wink
Любой иной перезапуск тебе такого возврата не сделает. Утеривать текущие позиции (в архивах, в системных плагинах, в виртуальных папках, в заблокированных вкладках) лично мне никакого удовольствия после перезапуска, которым я частенько пользуюсь, не доставляет. Если тебе доставляет, не вопрос, юзай простейшие варианты (уже давно мне неинтересные). Суть скрипта прежде всего в запоминании открытых псевдо/папок, мысль о позиции курсора на файлах возникла сравнительно недавно.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1079
Location: Донецк

Post (Separately) Posted: Fri Mar 08, 2013 03:46    Post subject: Reply with quote

Flasher
Quote:
Может, и от ТС откажешься?

Нет.

Quote:
перезапуска, которым я частенько пользуюсь

У меня Тотал иногда сутки и более не закрывается и не перезапускается.

Quote:
Суть скрипта прежде всего в запоминании открытых псевдо/папок, мысль о позиции курсора на файлах возникла сравнительно недавно.

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

Quote:
Единственное, что можно делать, чтобы оставлять курсор на папках, это входить и выходить из них (причём менять фокус, если папки в обеих панелях). Сомневаюсь, что тебе такое понравится, да и остальным тоже....
Тоже сомневаюсь.

PS. Уже не так сомневаюсь.
Я ведь твоим скриптом перехода к закладкам (в том числе если закладка стоит на папке) пользуюсь - нравится Laughing
_________________
Total Commander DreamLair - мечтать всегда, мыслить тотально, быть командиром жизни
Win10 x64 HE SL Eng | TC DreamLair eternal pre-α (9.22a x32+x64) | AkelPad Lair (4.9.9 x86) | Cent Browser Lair
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Fri Mar 08, 2013 10:04    Post subject: Reply with quote

Flasher wrote:
Ясно. Сделать - сделаю, но вот только не знаю, как быть - править старый пост или запостить MIME?

Мне, честно говоря, без особой разницы. Ну, пускай MIME будет.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Fri Mar 08, 2013 18:11    Post subject: Reply with quote

LonerD wrote:
Мне до твоего скрипта ни одна ни вторая мысль даже не приходили, потому пока не осознал все удобства этого метода.
Наверно, частично заблокированными вкладками вообще не пользуешься и в архивы почти не заходишь. Если бы пользовался, сразу понял бы всю соль, ибо перезапускать при перенастройках ТС (автозагрузки, плагинов) просто необходимо. Перезапуски также требуются при перезаполнении памяти, багах и висах.
LonerD wrote:
Я ведь твоим скриптом перехода к закладкам (в том числе если закладка стоит на папке) пользуюсь - нравится
Я не думаю, что поведение будет аналогичное, как и при активном окне ТС. Не пробовал ещё блокировать окно только при его появлении. Могут быть артефакты, и некоторая задержка добавится. Ладно, посмотрю, как можно грамотней реализовать. Если получится криво, то выкладывать не буду.

Avada
Собственно, обойдусь без Autorun-a, так что можно и обновить.
Такой вопрос. На данный момент мы задаём ini в отдельной переменной. А что если в ini-файле, задаваемым через ключ, нет редиректа, или он ведёт на другой ini-файл с историей?
И как ведёт себя ReloadTC, если писать к файлам конфигурации не путь целиком, а только имя файла?
P.S. И не пора бы уже тему, прямо касаемую автоматизации, перенести в нужный подфорум?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Fri Mar 08, 2013 20:15    Post subject: Reply with quote

Flasher wrote:
На данный момент мы задаём ini в отдельной переменной. А что если в ini-файле, задаваемым через ключ, нет редиректа, или он ведёт на другой ini-файл с историей?

В моём случае — именно что нет. Да, такие варианты надо учесть.

Flasher wrote:
И как ведёт себя ReloadTC, если писать к файлам конфигурации не путь целиком, а только имя файла?

Я, конечно, могу проверить специально, но у меня в параметрах TC указывается не только другое имя, но и другой путь (вообще на другом диске).
Кстати, у ReloadTC могут быть собственные параметры, в том числе и для INI-файлов. Если они используются (у меня — нет), то подменяют стандартные (это есть в документации утилиты).

Flasher wrote:
И не пора бы уже тему, прямо касаемую автоматизации, перенести в нужный подфорум?

Безусловно, пора, и я это делаю. Общая тема по перезапуску TC необходима, но её действительно логично и правильно держать в "Автоматизации".
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Strek



Joined: 17 Oct 2010
Posts: 138
Location: Светая Русь

Post (Separately) Posted: Tue Mar 12, 2013 18:45    Post subject: Reply with quote

У меня exe-шка на AutoIt, с таким кодом:
Code:

Global $title

if processexists("TOTALCMD64.EXE") then
    $title = _Process2Win("TOTALCMD64.EXE")
    WinClose($title)
    Run("Путь к папке\TOTALCMD.exe")
elseIf processexists("TOTALCMD.EXE") then
    $title = _Process2Win("TOTALCMD.EXE")
    WinClose($title)
    Run("Путь к папке\TOTALCMD64.exe /i="Путь к папке\WinCmd64.ini")
endif

func _Process2Win($pid)
    if isstring($pid) then $pid = processexists($pid)
    if $pid = 0 then return -1
    $list = WinList()
    for $i = 1 to $list[0][0]
        if $list[$i][0] <> "" AND BitAnd(WinGetState($list[$i][1]),2) then
            $wpid = WinGetProcess($list[$i][0])
            if $wpid = $pid then return $list[$i][0]
        EndIf
    next
    return -1
endfunc


Источник AutoIt-Script.Ru
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, 4, 5, 6 ... 10, 11, 12  Next
Page 5 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