Egy kis példaprogram: (megszámolja, hogy hány fájl lett a Form-ra 'dobva' és kiírja a fájlok neveit) unit Unit1; 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); // Ez adja vissza a fájlok neveit Names := Names + #13#10 + fName ; end ; ShowMessage('Droped '+IntToStr(NumberOfFiles) + ' Files : ' + Names ); DragFinish ( hDrop); end; end.