webForumDet fria alternativet

Köra en fil

Programmering

5 svar · 372 visningar · startad av msossna

Medlem sedan feb. 2002476 inlägg
Frågan#1

Hur gör jag för att från ett program köra en annan fil, tex "foo.exe 2 3 bla"? Försökte med ShellExecute, men det fungerade inte med parametrar...

Medlem sedan maj 2000194 inlägg
#2

Testa detta:

uses   

WinTypes, ShellAPI;  

procedure OpenObject( sObjectPath : string  ); 
begin   
ShellExecute( 0, Nil, PChar( sObjectPath ),  Nil, Nil, SW_NORMAL );
end;  

begin   
OpenObject( 'c:\my_docs\report.txt' ); 
end.

Detta öppnar programmet som är associerat med filtillägget, i detta fallet Anteckningar. Hoppas det var så du menade.

Medlem sedan feb. 2002476 inlägg
#3

Jag vill köra ett program, som tar en fil som argument,

ex. så här skulle jag skriva i kommandotolken:

fo.exe filnamnet

Detta fungerar inte...

Medlem sedan maj 2000194 inlägg
#4

Jag tror att du måste skriva in hela sökvägen till filen du vill skicka med som argument. Har du testat det?

foo.exe C:\<sökväg>\filnamnet
Medlem sedan feb. 2002476 inlägg
#5

Fungerar inte, dessutom blir det ju inte bra om jag måte skriva hela sökvägen...

Medlem sedan juli 200124 inlägg
#6

Så här skickar du in parametrar till shellexecute:

var MyParameters: string;

MyParameters:='C:\SomeTextFile.txt';
ShellExecute(Handle, 'open', 'NotePad.exe', PChar(MyParameters), '',
SW_NORMAL);

Om du har flera parametrar separerar du dem med mellanslag.

mvh Tony

256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)