Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Добавление списка файлов в программу через меню explorer.


dracula ©   (2006-05-15 14:25:00) 

У меня есть программа, она копирует файлы. Надо реализовать добавление файлов через контектное меню, по типу как в winamp. В каком направлении надо копать? Есть ли какой пример (я в курсе что надо это делать через com, но я раньше с этим не сталкивался), или какая нибудь информация как это делается. Заранее спасибо.


dracula   (2006-05-16 12:54:00) [1]

Нет моя программа копирует файлы с испорченых и поцарапаных дисков, поэтому explorer с ними не справляется.

2allrussia, нет к сожалению это не подходит так как добавляет всего один файл или папку - я так уже пробовал (даже делал через PostMessage и отправлял первой запущеной копии программы командную строку, но программа не успевает обрабатывать все файлы и некоторые пропускает). Надо именно через com чтоб можно было сразу несколько файлов. Winamp использует \Folder\shell и также c MP3, но у него есть ещё обработка списков - например я выделяю несколько папок и в меню выбираю скопировать с помощью млей проги, вот и надо список выделеных папок отправить моей программе. А вот как это делается?


Leonid Troyanovsky   (2006-05-15 22:42:00) [2]


> dracula ©   (15.05.06 16:12) [3]

> файлы, жмём правую кнопку мыши и выбираем скопировать с
> помощью моей проги. Вот это будет правильно и красиво.


Explorer правильно и эстетично копирует файлы без посторонней помощи.

--
Regards, LVT.


allrusia   (2006-05-15 22:25:00) [3]

Poirot


> Хм.. всётаки мне каца, что автор имел ввиду имено добавление
> файлов к рабочей копии приложения - аля винамп => Enqueue
> to Winamp:)


пока что плохо кажется :) неудачная попытка, т.к.

dracula

А вот например человек захотел скопировать файлы, и чтоб не запускать прогуи там их не искать, выделяем файлы, жмём правую кнопку мыши и выбираем скопировать с помощью моей проги


Poirot   (2006-05-15 17:52:00) [4]

Хм.. всётаки мне каца, что автор имел ввиду имено добавление файлов к рабочейкопии приложения - аля винамп => Enqueue to Winamp:)


allrussia   (2006-05-15 17:46:00) [5]

dracula

Реестр + ParamStr в программе

для реестра


r:=tregistry.create;
r.RootKey:=HKEY_CLASSES_ROOT;
r.OpenKey('\Folder\shell\Вывести на печать содержимое папки\command', true);
r.WriteString('','"'+Application.ExeName+'" "%1"');
r.OpenKey('\Folder\shell\Вывести в Excel содержимое папки\command', true);
r.WriteString('','"'+Application.ExeName+'" "%1"?');
r.Free;


а в коде программы:


for i := 1 to ParamCount do
if LowerCase(ParamStr(i)) <> '' then
if LastDelimiter('?',ParamStr(i)) <= 0 then
ShowMessageParamStr(i)
else
ShowMessage (copy (ParamStr(i),0,length(ParamStr(i))-1));
end;


при правом клике на любой папке проводника показывается сообщение с путем этой папки

скачай "delphi world" там куча примеров есть


dracula   (2006-05-15 16:12:00) [6]

OpenDialog - чем не устраивает?
Это когда прога в работе уже, (да и вообще это не то) и слишком примитивно. А вот например человек захотел скопировать файлы, и чтоб не запускать прогу и там их не искать, выделяем файлы, жмём правую кнопку мыши и выбираем скопировать с помощью моей проги. Вот это будет правильно и красиво.


Poirot   (2006-05-15 15:22:00) [7]

http://www.rsdn.ru/summary/390.xml


Ламот   (2006-05-15 14:52:00) [8]

OpenDialog - чем не устраивает?


Наверх

Титульная страница Поиск, карта сайта Написать письмо