View previous topic :: View next topic |
Author |
Message |
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Nov 10, 2011 22:56 Post subject: |
|
|
MVV wrote: | Плагин написать надо, чтобы позволял делать проверку на запущенность процесса. В ShellExec такой функции действительно не место. | Если не место, то как этот плагин будет взаимодейтсвовать с ShellExec, с помощью которого запускается программа/скрипт? |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1274
|
(Separately) Posted: Fri Nov 11, 2011 09:29 Post subject: |
|
|
Flasher wrote: | Если не место, то как этот плагин будет взаимодейтсвовать с ShellExec, с помощью которого запускается программа/скрипт? |
Стандартная конструкция, что-нибудь типа "If ProcessExists() Then" (собственно, как и написал LonerD). Т.е. проверяется наличие процесса, и если его нет - выполняется запуск. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Nov 11, 2011 10:36 Post subject: |
|
|
А что писать в ProcessExists? PID мы не знаем. Знаем путь к файлу, имя, класс. А нам не во всех случаях нужно, допустим, учитывать процессы копий. Как тут? И если это скрипт, работающий через постредника, то как и что указывать?
Если указывать путь, то нужно бы сделать так, чтобы не делать это дважды, т.е. в обеих командах ProcessExists/ShellExec. Хотя указывать путь - это не решение для копий TC. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1274
|
(Separately) Posted: Fri Nov 11, 2011 12:50 Post subject: |
|
|
Flasher wrote: | А что писать в ProcessExists? |
Имя процесса.
Flasher wrote: | А нам не во всех случаях нужно, допустим, учитывать процессы копий. |
Не понял.
Flasher wrote: | Если указывать путь, то нужно бы сделать так, чтобы не делать это дважды, т.е. в обеих командах ProcessExists/ShellExec. |
Не вижу тут ничего ужасного. Нормальная практика для скриптинга. Если что - есть переменные. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Nov 11, 2011 20:24 Post subject: |
|
|
Loopback wrote: | Не понял. | У нас запущено некое приложение, вызываемое по ShellExec. Нам нужно, чтобы копии программ запускались только тогда, когда не запущено ни одной копии TC. Т.е. если другая копия TC уже запущена, то копию программы открывать надо.
Loopback wrote: | Если что - есть переменные. | Точно.
По скриптам не ответил.
Last edited by Flasher on Fri Nov 11, 2011 20:55; edited 1 time in total |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Fri Nov 11, 2011 20:42 Post subject: |
|
|
Flasher wrote: | Loopback wrote: | Не понял. | У нас запущено некое приложение, вызываемое по ShellExec. Нам нужно, чтобы копии программ запускались всегда кроме случаев, когда не запущено не одной копии TC. Т.е. если другая копия TC уже запущена, то копию программы открывать надо. |
То есть, для первого запущенного тотала программу запускать не надо? А для второго, третьего, десятого и т.п. - надо?
Если надо учитывать число процессов с таким именем, функция плагина вполне может возвращать число таких процессов. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Nov 11, 2011 20:46 Post subject: |
|
|
Я вроде ясно написал. Flasher wrote: | если другая копия TC уже запущена, то копию программы открывать надо | Значит, программа запущена, а Тотал только вот запускается и проверяет не запущена ли уже копия ТС. Если запущена, то запускать копию программы, и наоборот. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Nov 11, 2011 20:56 Post subject: |
|
|
MVV
Да, но ты не написал об условии запущенности самой программы. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Nov 11, 2011 21:02 Post subject: |
|
|
MVV wrote: | В предложении, которое начинается с "Нам нужно", оно не фигурирует | Ну и что? В контексте то фигурирует.
MVV wrote: | может быть вынесено во внешний условный блок | Это понятно, но это не значит, что его не нужно учитывать. |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1168 Location: Донецк
|
(Separately) Posted: Fri Nov 11, 2011 22:52 Post subject: |
|
|
Я тут встряну в диалог и напомню о своей ошибке с закрыванием Тотала 1.6 беты если в настройках прописан запуск программ ShellExec /TT /W.
Сейчас примерно такой же баг (ошибка при закрытии тотала и шизофреничное поведение мыши при этом) словил в Win7x64 и на предыдущих версиях (1.5, 1.4 последняя бета) в случае если указанный ехе файл не существует.
Строка запуска выглядит так:
ShellExec /TT /W "%commander_path%\Plugins\exe\Program.exe" "" "%commander_path%\Plugins\exe\"
Но самого файла Program.exe не существует.
Тотал крашится. Может, инфа как-то поможет исправить баг. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Nov 11, 2011 23:50 Post subject: |
|
|
LonerD, а зачем задавать рабочую папку, если путь к файлу и так указан? |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1274
|
(Separately) Posted: Sat Nov 12, 2011 14:30 Post subject: |
|
|
LonerD wrote: | Я тут встряну в диалог и напомню о своей ошибке с закрыванием Тотала 1.6 беты если в настройках прописан запуск программ ShellExec /TT /W. |
Вовсе необязательно напоминать об этом на каждой странице Говорил же - займусь после релиза TCTorrent.
Попробуй эту версию.
Похоже, с новым компилятором, функции OpenProcess почему-то внезапно перестало хватать привилегий...
LonerD wrote: | в случае если указанный ехе файл не существует. |
Это вероятнее всего другое. Но тут достаточно очевидный баг, тоже исправил. |
|
Back to top |
|
|
|
|
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
|