Contributor: GAVIN CARTER
{
If anyone is still intrested I think I've got simple code that works fine.
Just put a list box on the form, and then drag to the box, it will the add
the path of the file to the listbox. }
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs,
  StdCtrls, shellapi;
type
  TForm1 = class(TForm)
    ListBox1: TListBox;
   procedure FormCreate(Sender: TObject);
  private
procedure WMDROPFILES(var Message: TWMDROPFILES); message WM_DROPFILES;
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMDROPFILES(var Message: TWMDROPFILES);
const
   cnmaxfilenamelen = 255;
var
   i,ncount : integer;
   acfilename : array [0..255] of char;
begin
     ncount := dragqueryfile (message.drop, $FFFFFFFF,acfilename,cnmaxfilenamelen);
     for i := 0 to ncount -1 do
     begin
     dragqueryfile (message.drop,i,acfilename,cnmaxfilenamelen);
     listbox1.items.add(acfilename);
     end;
     dragfinish(message.drop);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles( Handle, True );
end;
end.