| Code: | 
| interface 
 uses 
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 
 ComCtrls; 
 type 
 TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } procedure FileIsDropped(var Msg: TMessage); message WM_DropFiles; public { Public declarations } end; 
 var 
 Form1: TForm1; 
 implementation uses shellapi; {$R *.DFM} 
 procedure TForm1.FormCreate(Sender: TObject); begin 
 DragAcceptFiles(Handle, True); end; 
 procedure TForm1.FileIsDropped(var Msg: TMessage); var 
 hDrop: THandle; fName: array[0..254] of CHAR; NumberOfFiles: INTEGER; fCounter: INTEGER; Names: string; begin 
 hDrop := Msg.WParam; NumberOfFiles := DragQueryFile(hDrop, -1, fName, 254); Names := ''; for fCounter := 1 to NumberOfFiles do begin DragQueryFile(hDrop, fCounter, fName, 254); // Здесь вы получаете один к одному имя вашего файла 
 Names := Names + #13#10 + fName; end; 
 ShowMessage('Бросаем ' + IntToStr(NumberOfFiles) + ' файла(ов) : ' + Names); DragFinish(hDrop); end; 
 end. | 
Автор: Aleksey
| Code: | 
| {Так можно заставить окно принимать файлы, перетаскиваемые из проводника} {ОБЯЗАТЕЛЬНО ПОМЕСТИТЕ В СЕКЦИЮ PRIVATE СТРОКИ 
 procedure CreateParams(var Params: TCreateParams); override; procedure WMDropFiles(var Message: TWMDropFiles); message WM_DROPFILES; и не забудьте - ShellAPI поместить в uses} 
 procedure TForm1.CreateParams(var Params: TCreateParams); begin 
 inherited CreateParams(Params); {сделаем окно способным принимать файлы} Params.ExStyle := Params.ExStyle or WS_EX_ACCEPTFILES; end; 
 procedure TForm1.WMDropFiles(var Message: TWMDropFiles); var 
 aFile: array[0..255] of Char; //FilesCount : Integer; begin 
 inherited; {так можно узнать сколько файлов перетягивается} // FilesCount := DragQueryFile(Message.drop, $FFFFFFFF, nil, 0); 
 begin {здесь можно поставить цикл открытия всех перетаскиваемых файлов 
 for N := 0 to FilesCount - 1 do DragQueryFile(Message.drop, N, aFile, 256); а в данном случае открывается только первый файл в списке} DragQueryFile(Message.drop, 0, aFile, 256); Memo1.Lines.LoadFromFile(aFile); end; DragFinish(Message.Drop); end; 
 procedure TForm1.FormCreate(Sender: TObject); {Form1.OnCreate} begin {сделаем окно неравнодушным к пролетающим над ним файлам} DragAcceptFiles(Handle, True); end; | 
 
			
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!