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

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

Как интегрировать программу с оболочкой Windows? [D7, WinXP]


Sidex ©   (2005-08-24 16:38:00) 

Помогите, кто чем может. Недавно написал медиа-плеер, хочу немного доработать. Нужно сделать следующие вещи:
1. Если в проводнике выбрать несколько медиа-файлов и выбрать пункт "Открыть с помощью" - "Project.exe", то должна запуститься программа и одновременно сформировться плейлист на основе выбранных файлов. Пробовал пользоваться функцией ParamStr, но она возвращает только адрес последнего выбранного файла, а нужно обрабатывать ВСЕ.
2. Если выбелить несколько файлов и бросить их на окно с плеером, то они должны добавиться в плейлист. Здесь опять-таки мне нужны только полные адреса файлов, но как их получить?

Заранее спасибо.


Antonn   (2005-08-26 14:51:00) [1]

Leonid Troyanovsky ©   (26.08.05 14:08) [11]
ой, я в [10] по ошибке адрессата перепутал:)


Leonid Troyanovsky   (2005-08-26 14:08:00) [2]


> Antonn ©   (26.08.05 13:51) [10]
> Leonid Troyanovsky ©   (26.08.05 13:35) [9]

> procedure WMDropFiles(var Message: TWMDropFiles);  message
> WM_DROPFILES;


Насколько я понял, непонятым остался другой пример, с DDE open.

--
Regards, LVT.


Antonn   (2005-08-26 13:51:00) [3]

Leonid Troyanovsky ©   (26.08.05 13:35) [9]
2. Если выбелить несколько файлов и бросить их на окно с плеером, то они должны добавиться в плейлист. Здесь опять-таки мне нужны только полные адреса файлов, но как их получить?


private
procedureWMDropFiles( varMessage: TWMDropFiles);  message WM_DROPFILES;
protected
procedureCreateParams( varParams: TCreateParams); override;

implementation

procedureTF_PlayList.CreateParams( varParams: TCreateParams);
begin
inherited
CreateParams(Params);
Params.ExStyle := Params.ExStyle orWS_EX_ACCEPTFILES;
end;

procedureTF_PlayList.WMDropFiles( varMessage: TWMDropFiles);
varaFile: array[0..255] ofChar;
FilesCount,N : Integer;
begin
inherited;
FilesCount := DragQueryFile(Message.drop, $FFFFFFFF, nil, 0);
  begin
  forN := 0 toFilesCount - 1 do begin
 DragQueryFile(Message.drop, N, aFile, 256);
  //тут добавляем, в aFile имеем имя файла/путь
  end;
  end;
DragFinish(Message.Drop);
end;


Leonid Troyanovsky   (2005-08-26 13:35:00) [4]


> Sidex   (26.08.05 13:26) [8]

> ничего не понял. Хоть бы одни комментарий на русском написали.


Для Michel английский, IMHO, тоже не родной, он из Германии.
Поэтому, и пишет он очень даже понятно даже для китайца.
Кроме того, большая часть письма, вообще, на Delphi.

И чего не понято?

--
Regards, LVT


Sidex   (2005-08-26 13:26:00) [5]

Начсет http://groups.google.com/group/fido7.ru.delphi.chainik/msg/cc85a749fdfddcb7спасибо, все работает (правда там вместо NumFiles:=DragQueryFile(Msg.Drop, -1, nil, 0) нужно писать NumFiles:=DragQueryFile(Msg.Drop, DWORD(-1), nil, 0), а то не пашет.
По поводу http://groups.google.com/group/fido7.ru.delphi.chainik/msg/278f89887ab26b31ничего не понял. Хоть бы одни комментарий на русском написали.


Чапаев   (2005-08-25 12:54:00) [6]

Гугли, шмугли...

"C:\Program Files\Borland\Delphi7\Demos\ActiveX\ShellExt\"


Leonid Troyanovsky   (2005-08-25 12:53:00) [7]


> Leonid Troyanovsky ©   (25.08.05 12:50) [4]


И, скажем,

http://groups.google.com/group/fido7.ru.delphi.chainik/msg/cc85a749fdfddcb7

--
Regards, LVT.


Digitman   (2005-08-25 12:53:00) [8]


> Sidex   (25.08.05 12:45) [3]


гуглить умеешь ?

http://www.google.ru/search?hl=ru&q=Delphi+IShellFolder&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=


Leonid Troyanovsky   (2005-08-25 12:50:00) [9]


> Sidex   (25.08.05 12:45) [3]
> Что, никто не знает? Дайте хоть маленький примерчик.


http://groups.google.com/group/fido7.ru.delphi.chainik/msg/278f89887ab26b31

--
Regards, LVT.


Sidex   (2005-08-25 12:45:00) [10]

Что, никто не знает? Дайте хоть маленький примерчик.


Sidex   (2005-08-24 17:08:00) [11]

А подробнее?


Polevi   (2005-08-24 16:42:00) [12]

IShellFolder


Наверх

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