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 ... 15, 16, 17 ... 132, 133, 134  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
HA3APET



Joined: 22 Feb 2010
Posts: 151

Post (Separately) Posted: Sun Mar 20, 2011 20:13    Post subject: Reply with quote

Loopback
ещё из наблюдений, вдруг поможет

Code:
ShellExec /T /W "Camper.exe" "" "%commander_path%\Camper\"

Camper убивается - значок остаётся
Code:
ShellExec /TT /W "Camper.exe" "" "%commander_path%\Camper\"

Camper завершается - значка нет

но если так

Code:
ShellExec  /TT /W "AUTOFx.exe" "" "%commander_path%\autofx\"
ShellExec  /T /W "Camper.exe" "" "%commander_path%\Camper\"


то Camper завершается (значок пропадает), как будто стоит /TT а не /T
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1283

Post (Separately) Posted: Sun Mar 20, 2011 23:54    Post subject: Reply with quote

Попробовал перейти на связку AssocQueryString+CreateProcess, на первый взгляд работает нормально. Кстати, теперь не обязательно убивать дерево (что, впрочем, было очевидно с самого начала), достаточно использовать /T /W.

1.4.9.5 beta
Back to top
View user's profile Send private message
HA3APET



Joined: 22 Feb 2010
Posts: 151

Post (Separately) Posted: Mon Mar 21, 2011 11:42    Post subject: Reply with quote

Loopback
(
У меня плагин вообще ничего не запускает. Даже так
Code:
ShellExec "Camper.exe" "" "%commander_path%\Camper\"

Win7 x64 SP1
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1283

Post (Separately) Posted: Mon Mar 21, 2011 12:15    Post subject: Reply with quote

HA3APET
Чудеса... Дома работает, сейчас пробую на работе - действительно, ничего. Ладно, будем разбираться.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1283

Post (Separately) Posted: Mon Mar 21, 2011 15:11    Post subject: Reply with quote

Ох, ну и намудрили же Майкрософт с AssocQueryString... Вроде документированная функция, а на разных системах работает как ей вздумается.

В общем, вроде поправил. Новую версию делать не стал, можно скачать по последней ссылке.
Back to top
View user's profile Send private message
HA3APET



Joined: 22 Feb 2010
Posts: 151

Post (Separately) Posted: Mon Mar 21, 2011 15:39    Post subject: Reply with quote

Loopback
Code:
ShellExec "Camper.exe" "" "%commander_path%\Camper\"

не запускается

но bat файлы запускаются
Code:
ShellExec "reg.bat" "" "%commander_path%"


но с полным игнорированием команд [/SW_HIDE|/SW_SHOWNORMAL|/SW_MINIMIZE|/SW_MAXIMIZE]
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1283

Post (Separately) Posted: Mon Mar 21, 2011 16:11    Post subject: Reply with quote

HA3APET wrote:
не запускается

А разве должен? Нужен же полный путь к файлу, или путь с переменными окружения. Запись

Code:
ShellExec "%commander_path%\Camper\Camper.exe" "" "%commander_path%\Camper\"

должна работать.

HA3APET wrote:
но bat файлы запускаются

Может быть путь, где лежит reg.bat, есть в PATH? Только в этом случае будет работать такая форма запуска - имя файла без пути.

HA3APET wrote:
но с полным игнорированием команд

Да, это я упустил. Поправлю.
Back to top
View user's profile Send private message
HA3APET



Joined: 22 Feb 2010
Posts: 151

Post (Separately) Posted: Mon Mar 21, 2011 16:24    Post subject: Reply with quote

Loopback wrote:
А разве должен? Нужен же полный путь к файлу, или путь с переменными окружения

До этого работало) привык писать так
Code:
ShellExec "Camper.exe" "" "%commander_path%\Camper\"


написал
Code:
ShellExec "%commander_path%\Camper\Camper.exe" "" "%commander_path%\Camper\"


Запустилось! Да, теперь именно в такой форме.
Завершается всё исправно.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1283

Post (Separately) Posted: Mon Mar 21, 2011 16:49    Post subject: Reply with quote

HA3APET wrote:
До этого работало) привык писать так

Ну может какая-то особенность ShellExecute, который использовался раньше. Возможно, он пытается запустить файл из каталога, который задан в качестве рабочего.
Но вообще это не совсем корректная запись, поскольку путь (третий параметр) в данном случае - это именно рабочий каталог запускаемой программы, а отнюдь не путь, откуда должен запускаться файл. Такой вариант использования не подразумевался Smile

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

HA3APET wrote:
Запустилось! Да, теперь именно в такой форме.
Завершается всё исправно.

Хорошо, а то я уже отладочную версию начал делать.
Back to top
View user's profile Send private message
HA3APET



Joined: 22 Feb 2010
Posts: 151

Post (Separately) Posted: Mon Mar 21, 2011 16:53    Post subject: Reply with quote

Loopback
Осталось вернуть [/SW_HIDE|/SW_SHOWNORMAL|/SW_MINIMIZE|/SW_MAXIMIZE] и дело сделано Smile
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1283

Post (Separately) Posted: Mon Mar 21, 2011 16:57    Post subject: Reply with quote

HA3APET wrote:
Осталось вернуть [/SW_HIDE|/SW_SHOWNORMAL|/SW_MINIMIZE|/SW_MAXIMIZE] и дело сделано

Версию не меняю, обновил ссылку.
Back to top
View user's profile Send private message
HA3APET



Joined: 22 Feb 2010
Posts: 151

Post (Separately) Posted: Mon Mar 21, 2011 17:26    Post subject: Reply with quote

Loopback, всё отлично работает, всё как задумано! Спасибо за работу.
Back to top
View user's profile Send private message
MVV



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

Post (Separately) Posted: Mon Mar 21, 2011 18:27    Post subject: Reply with quote

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



Joined: 07 Sep 2009
Posts: 1283

Post (Separately) Posted: Mon Mar 21, 2011 19:15    Post subject: Reply with quote

MVV
Есть подозрение, что на выходе ShellExecute использует тот же CreateProcess, только предварительно проделывает всякие поисковые операции - по реестру и не только.

На самом деле не так важно, какая функция скрывается внутри ShellExec, главное, чтобы команда работала как в документации. Наверно, стоит добавить туда указание, что первым параметром предполагается полный путь файла.


HA3APET wrote:
Ещё для ShellExec был бы полезен параметр - задержка запуска в секундах.

Так есть команда Sleep. Просто разместить вызовы в конце конфигурации с заданной задержкой.
Back to top
View user's profile Send private message
HA3APET



Joined: 22 Feb 2010
Posts: 151

Post (Separately) Posted: Mon Mar 21, 2011 19:29    Post subject: Reply with quote

Loopback
Да) я уже разобрался, что так можно, по-этому и удалил сообщение.
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 ... 15, 16, 17 ... 132, 133, 134  Next
Page 16 of 134

 
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