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 

Autorun
Goto page Previous  1, 2, 3 ... 30, 31, 32 ... 130, 131, 132  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Thu Nov 10, 2011 10:04    Post subject: Reply with quote

Плагин написать надо, чтобы позволял делать проверку на запущенность процесса. В ShellExec такой функции действительно не место.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Thu Nov 10, 2011 22:56    Post subject: Reply with quote

MVV wrote:
Плагин написать надо, чтобы позволял делать проверку на запущенность процесса. В ShellExec такой функции действительно не место.
Если не место, то как этот плагин будет взаимодейтсвовать с ShellExec, с помощью которого запускается программа/скрипт?
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Fri Nov 11, 2011 09:29    Post subject: Reply with quote

Flasher wrote:
Если не место, то как этот плагин будет взаимодейтсвовать с ShellExec, с помощью которого запускается программа/скрипт?

Стандартная конструкция, что-нибудь типа "If ProcessExists() Then" (собственно, как и написал LonerD). Т.е. проверяется наличие процесса, и если его нет - выполняется запуск.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Fri Nov 11, 2011 10:36    Post subject: Reply with quote

А что писать в ProcessExists? PID мы не знаем. Знаем путь к файлу, имя, класс. А нам не во всех случаях нужно, допустим, учитывать процессы копий. Как тут? И если это скрипт, работающий через постредника, то как и что указывать?
Если указывать путь, то нужно бы сделать так, чтобы не делать это дважды, т.е. в обеих командах ProcessExists/ShellExec. Хотя указывать путь - это не решение для копий TC.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Fri Nov 11, 2011 12:50    Post subject: Reply with quote

Flasher wrote:
А что писать в ProcessExists?

Имя процесса.
Flasher wrote:
А нам не во всех случаях нужно, допустим, учитывать процессы копий.

Не понял.
Flasher wrote:
Если указывать путь, то нужно бы сделать так, чтобы не делать это дважды, т.е. в обеих командах ProcessExists/ShellExec.

Не вижу тут ничего ужасного. Нормальная практика для скриптинга. Если что - есть переменные.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Fri Nov 11, 2011 20:24    Post subject: Reply with quote

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
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Fri Nov 11, 2011 20:42    Post subject: Reply with quote

Flasher wrote:
Loopback wrote:
Не понял.
У нас запущено некое приложение, вызываемое по ShellExec. Нам нужно, чтобы копии программ запускались всегда кроме случаев, когда не запущено не одной копии TC. Т.е. если другая копия TC уже запущена, то копию программы открывать надо.

То есть, для первого запущенного тотала программу запускать не надо? А для второго, третьего, десятого и т.п. - надо? Rolling Eyes

Если надо учитывать число процессов с таким именем, функция плагина вполне может возвращать число таких процессов.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Fri Nov 11, 2011 20:46    Post subject: Reply with quote

Я вроде ясно написал.
Flasher wrote:
если другая копия TC уже запущена, то копию программы открывать надо
Значит, программа запущена, а Тотал только вот запускается и проверяет не запущена ли уже копия ТС. Если запущена, то запускать копию программы, и наоборот.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Fri Nov 11, 2011 20:55    Post subject: Reply with quote

Ну я вроде так и написал. Первый тотал программу запускать не будет, т.к. он первый, а второй, третий, десятый - будут.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Fri Nov 11, 2011 20:56    Post subject: Reply with quote

MVV
Да, но ты не написал об условии запущенности самой программы.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Fri Nov 11, 2011 20:58    Post subject: Reply with quote

Это условие можно отделить, оно не влияет на остальное. В предложении, которое начинается с "Нам нужно", оно не фигурирует, поэтому может быть вынесено во внешний условный блок.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Fri Nov 11, 2011 21:02    Post subject: Reply with quote

MVV wrote:
В предложении, которое начинается с "Нам нужно", оно не фигурирует
Ну и что? В контексте то фигурирует.
MVV wrote:
может быть вынесено во внешний условный блок
Это понятно, но это не значит, что его не нужно учитывать.
Back to top
View user's profile Send private message
LonerD



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

Post (Separately) Posted: Fri Nov 11, 2011 22:52    Post subject: Reply with quote

Я тут встряну в диалог и напомню о своей ошибке с закрыванием Тотала 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
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Fri Nov 11, 2011 23:50    Post subject: Reply with quote

LonerD, а зачем задавать рабочую папку, если путь к файлу и так указан?
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Sat Nov 12, 2011 14:30    Post subject: Reply with quote

LonerD wrote:
Я тут встряну в диалог и напомню о своей ошибке с закрыванием Тотала 1.6 беты если в настройках прописан запуск программ ShellExec /TT /W.

Вовсе необязательно напоминать об этом на каждой странице Smile Говорил же - займусь после релиза TCTorrent.

Попробуй эту версию.

Похоже, с новым компилятором, функции OpenProcess почему-то внезапно перестало хватать привилегий...
LonerD wrote:
в случае если указанный ехе файл не существует.

Это вероятнее всего другое. Но тут достаточно очевидный баг, тоже исправил.
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 ... 30, 31, 32 ... 130, 131, 132  Next
Page 31 of 132

 
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