Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.25;
Скачать: CL | DM;

Вниз

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

 
dracula ©   (2006-05-15 14:25) [0]

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


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

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


 
Poirot ©   (2006-05-15 15:22) [2]

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


 
dracula ©   (2006-05-15 16:12) [3]

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


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

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" там куча примеров есть


 
Poirot ©   (2006-05-15 17:52) [5]

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


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

Poirot


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


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

dracula

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


 
Leonid Troyanovsky ©   (2006-05-15 22:42) [7]


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

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


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

--
Regards, LVT.


 
dracula ©   (2006-05-16 12:54) [8]

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

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



Страницы: 1 вся ветка

Текущий архив: 2006.06.25;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.012 c
4-1143484952
Eraser
2006-03-27 22:42
2006.06.25
Crypto API и многопоточность


2-1149760224
kitti
2006-06-08 13:50
2006.06.25
C++Builder


15-1149081898
Lamer@fools.ua
2006-05-31 17:24
2006.06.25
Генератор документации для .NET (C#) 2.0


2-1149624849
Mr tray
2006-06-07 00:14
2006.06.25
Глобальные или локальные переменные?


15-1149166567
tesseract
2006-06-01 16:56
2006.06.25
Весело AMD хочет купить ATI?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский