unit drag_support_demo;interfaceuses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,shellapi,
  StdCtrls;type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure wmdropfiles(var message:tmessage);message wm_dropfiles;
  end;var
  Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
begin
  Dragacceptfiles(form1.handle,true);
end;procedure tform1.wmdropfiles(var message:tmessage);
var
  p:array[0..254] of char;
  i:word;
begin
  inherited;
  memo1.lines.clear;
  {$IFDEF WIN32}
  I:=dragqueryfile(message.wparam,$ffffffff,nil,0);
  {$ELSE}
  I:=dragqueryfile(message.wparam,$ffff,nil,0);
  {$ENDIF}
  caption:=inttostr(i);
  for i:=0 to i-1 do
  begin
    dragqueryfile(message.wparam,i,p,255);
    memo1.lines.add(strpas(p));
  end;
end;
end.