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

 
Post new topic   Reply to topic    Total Commander Forum Index -> Написание плагинов для Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Shasoft



Joined: 25 Aug 2008
Posts: 6

Post (Separately) Posted: Wed Aug 27, 2008 22:45    Post subject: Как сделать вызов своей программы из TC Reply with quote

Сначало предистория Smile
Я автор читалки для сотового Shasoft eBook.
Прикрутил к программе плагины wcx от TC, чтобы можно было из архивов вытаскивать файлы и делать и з них книги.
Потоп прикрутил к программе поиск запущенного TC, чтобы пользователю не приходилось указывать путь к плагинам.
И только потом в голову пришла простая мысль: если на компьютере установлен TC, то пусть он и работает с файлами, а вызов моей программы можно просто прикрутить как плагин к TC.

А теперь собственно вопрос: как бы это поудобнее сделать? Написать плагин (какого типа? а то их тут много разных) или может можно как-то самому добавить вызов в панель инструментов TC?
Хотелось бы при установке своей программы делать поиск TC и если он запущен, то автоматически встаивать в него вызов своей проги.

Подскажите, как это лучше всего сделать? А то сам я TC до этих пор не пользовался.

Заранее спасибо.
Back to top
View user's profile Send private message
D1P



Joined: 20 Dec 2004
Posts: 2963
Location: Москва

Post (Separately) Posted: Wed Aug 27, 2008 23:30    Post subject: Reply with quote

Не очень понятна идея. Что делает твоя программа? Конвертирует текст в формат для мобилы? Тогда это WCX, можно извратиться и с WLX/WFX, но не с WDX. А если программа работает с параметрами командной строки, то переделывать её в плагин вообще не надо, можно просто сделать кнопку для панели инструментов.

Объясни цель и исходные данные подробнее.
_________________
База знаний о Total Commander
Блог
Back to top
View user's profile Send private message
Shasoft



Joined: 25 Aug 2008
Posts: 6

Post (Separately) Posted: Thu Aug 28, 2008 09:26    Post subject: Reply with quote

Исходные данные - файл.
Цель - передать имя файла моей программе. Это можно сделать через командную строку, просто указав имя файла с путем в качестве параметра.
А можно через вызов метода ActiveX моего компонента, передав методу указанный файл.
Back to top
View user's profile Send private message
Maximus



Joined: 07 Apr 2005
Posts: 927
Location: Украина, Кировоградская обл., г. Знаменка

Post (Separately) Posted: Thu Aug 28, 2008 12:25    Post subject: Reply with quote

Удобно было бы рботать в случае, если твоя программа была бы выполнена в виде WCX-плагина.
Конвертирование лучше реализовать как упаковку.
Посмотри эту статью.

А заливает файлы на телефон пользователь самостоятельно другими средствами?
_________________
tcPhonebook|AppLoader|Українізація TC|Ultimate Calendar
Back to top
View user's profile Send private message
D1P



Joined: 20 Dec 2004
Posts: 2963
Location: Москва

Post (Separately) Posted: Thu Aug 28, 2008 13:13    Post subject: Reply with quote

Shasoft wrote:
Цель - передать имя файла моей программе. Это можно сделать через командную строку, просто указав имя файла с путем в качестве параметра.

Никакие плагины тебе не нужны. Вернее, можно реализовать и через плагины, но есть способ проще: сделать кнопку. Скопируй следующий код в буфер обмена, потом нажми ПКМ на свободном месте панели инструментов, в появившемся меню выбери "Вставить".

Quote:
TOTALCMD#BAR#DATA
c:\some_path\you_program.exe
%p%n
c:\some_path\you_program.exe
Book converter
c:\some_path\

-1


Естественно, пути до твоей проги должны быть правильные.
По нажатию этой кнопки, TC будет вызывать прогу, передавая ей в качестве параметра путь и имя файла под курсором. Если потребуется обработать сразу несколько файлов, то их имена можно передать параметрами %L и %S (подробнее о параметрах можно прочесть в справке TC).
_________________
База знаний о Total Commander
Блог
Back to top
View user's profile Send private message
Shasoft



Joined: 25 Aug 2008
Posts: 6

Post (Separately) Posted: Thu Aug 28, 2008 13:40    Post subject: Reply with quote

А можно ли это сделать програмно? Хотелось бы встроиться в TC при инсталляции своей программы, чтобы пользователя не напрягать.
Back to top
View user's profile Send private message
Maximus



Joined: 07 Apr 2005
Posts: 927
Location: Украина, Кировоградская обл., г. Знаменка

Post (Separately) Posted: Thu Aug 28, 2008 14:21    Post subject: Reply with quote

Можно отредактировать файл DEFAULT.BAR.
Так, например, делает TC Plugins Manager. Правда после этого нужна будет перезагрузка Total Commander.
Или еще можно создать отдельную панель (*.BAR) для твоей программы, а ссылку на нее поместить в основную панель (DEFAULT.BAR).
_________________
tcPhonebook|AppLoader|Українізація TC|Ultimate Calendar
Back to top
View user's profile Send private message
Shasoft



Joined: 25 Aug 2008
Posts: 6

Post (Separately) Posted: Thu Aug 28, 2008 16:10    Post subject: Reply with quote

Но, как я понимаю при помещении ссылки в основную панель всё равно надо перегружать?

Вобще это не проблема. Я всегда могу инфорировать об этом пользователя, что надо TC перегрузить. Пусть он сам решает.

Главная проблема, как я понимаю, найти, где лежит DEFAULT.BAR
Back to top
View user's profile Send private message
Maximus



Joined: 07 Apr 2005
Posts: 927
Location: Украина, Кировоградская обл., г. Знаменка

Post (Separately) Posted: Thu Aug 28, 2008 16:24    Post subject: Reply with quote

Shasoft wrote:
Главная проблема, как я понимаю, найти, где лежит DEFAULT.BAR

Это да. DEFAULT.BAR находится в папке Total Commander.
Ищешь окно с именем класса TTOTAL_CMD. А там уже как-то с контекстом процесса надо работать.

Или поросить пользователя самостоятельно указать путь к Total Commander.
_________________
tcPhonebook|AppLoader|Українізація TC|Ultimate Calendar
Back to top
View user's profile Send private message
Shasoft



Joined: 25 Aug 2008
Posts: 6

Post (Separately) Posted: Thu Aug 28, 2008 16:34    Post subject: Reply with quote

Это если запущен TC. А вот если не запущен, то ничего и не найдется.

Хотя, инсталлятор моей программы наверняка запустят из TC, если им пользуются, так что тогда всё нормально.
Back to top
View user's profile Send private message
Shasoft



Joined: 25 Aug 2008
Posts: 6

Post (Separately) Posted: Thu Aug 28, 2008 17:37    Post subject: Reply with quote

В конце пришел к таким выводам: сделать интеграцию в Windows в пп. контекстного меню "Отправить".
Так как TC его тоже использует, то всё будет просто и доступно.
Back to top
View user's profile Send private message
Worros



Joined: 19 Jan 2007
Posts: 1123

Post (Separately) Posted: Thu Aug 28, 2008 17:39    Post subject: Reply with quote

Shasoft wrote:
В конце пришел к таким выводам: сделать интеграцию в Windows в пп. контекстного меню "Отправить".
Так как TC его тоже использует, то всё будет просто и доступно.

Соломоново решение. Саппорт \о/
Back to top
View user's profile Send private message
PalychXX



Joined: 03 Jun 2009
Posts: 1
Location: Калуга

Post (Separately) Posted: Wed Jun 03, 2009 13:50    Post subject: Reply with quote

Мне тоже хотелось бы реализовать запуск чужой программы через архиваторный (или еще какой) плагин для TC. Прога производит изменение переданного в параметрах командной строки файла. Почему не устраивают описанные выше решения - проге можно передать только 1 имя файла, а мне нужно, чтобы плагин поочередно вызывал эту программу для всех выделенных в Коммандере файлов. Если кто-нить сможет подсказать, как это сделать (желательно, на Delphi), буду очень благодарен.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1726
Location: Арзамас

Post (Separately) Posted: Wed Jun 03, 2009 14:21    Post subject: Reply with quote

PalychXX
I. .cmd на кнопке с параметром %L
II. Batya's скрипт
III. multiarc.wcx
Пользуйся поиском, на форуме десятки примеров.
Back to top
View user's profile Send private message
Lev



Joined: 02 Mar 2005
Posts: 392

Post (Separately) Posted: Wed Jun 03, 2009 14:59    Post subject: Reply with quote

IV. executor.wcx
V. MultiLister (former PDF Filter)
VI. TCConv (Total Converter)
+ всякие makebat, wdxinfopacker и т.д. и т.п.

кроме параметра %L в вызовах кнопок обратите внимание ещё и на %S, поддерживающийся начиная с ТС7
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
Page 1 of 1

 
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