Faire glisser un fichier sur une icone en recuperant le chemin
shell13010
Messages postés73Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention12 mai 2013
-
14 juil. 2009 à 16:43
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 2022
-
14 juil. 2009 à 19:32
Bonjour a tous,
J'aimerais si c'est possible de recuperer le chemin d'un fichier en le faisant glisser sur l'icone de mon programme pour qu'il puisse recuperer le chemin du fichier qui a etais lancer avant l'ouverture du programme..
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure AcceptFiles( var msg : TMessage );
message WM_DROPFILES;
end;
var
Form1: TForm1;
implementation
uses
ShellAPI;
{$R *.DFM}
procedure TForm1.AcceptFiles( var msg : TMessage );
const
cnMaxFileNameLen = 255;
var
i,
nCount : integer;
acFileName : array [0..cnMaxFileNameLen] of char;
begin
// find out how many files we're accepting
nCount := DragQueryFile( msg.WParam,
$FFFFFFFF,
acFileName,
cnMaxFileNameLen );
// query Windows one at a time for the file name
for i := 0 to nCount-1 do
begin
DragQueryFile( msg.WParam, i,
acFileName, cnMaxFileNameLen );
// do your thing with the acFileName
//MessageBox( Handle, acFileName, '', MB_OK );
Edit1.text:=acFileName; end;
// let Windows know that you're done
DragFinish( msg.WParam );
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles( Handle, True );
end;
donc quand je fait glisser un fichier.txt quand mon programme et en cours d'execution le Tedit recupere le chemin du fichier donc c'est exactement se que je voulais mais le seul probleme c'est que je veux juste faire glisser sur mon programme pour que directement il recupere son chemin a l'ouverture de mon prog
Jespere que vous m'auriez compris car la je bloque juste sur se point..