Cuando arrastras un archivo sobre el icono de la aplicación, o sobre un acceso directo a la aplicación, el sistema abre la aplicación pasándole como parámetro el nombre del archivo arrastrado. Entonces bastaría que tu aplicación leyera ese nombre al inicio:
Código Delphi
[-]
if ParamCount > 0 then
EnviaArchivo(ParamStr(1));
Agrego
Puedes de hecho arrastrar varios archivos a la vez. El siguiente código te listaría todos ellos en un Memo:
Código Delphi
[-]
procedure TForm1.FormShow(Sender: TObject);
var
I: Integer;
begin
for I := 1 to ParamCount do
Memo1.Lines.Add(ParamStr(I))
end;
// Saludos