Мониторинг обменных курсов валют
18c0693f

Как заставить запускаться из определенной папки?


Как заставить запускаться из определенной папки?



Приведенный пример кода проверяет из какой папки запущена программа, если она запущена не из корневой - то переносит себя в корень и запускается оттуда.


program Project1;

uses
Forms, classes, windows, Sysutils, ShellApi,
Unit1 in 'Unit1.pas' {Form1};

{$R *.RES}
var f:textFile;
FileName:String;


begin
if paramstr(1)<>'/runasis' then  
begin  
CopyFile(PChar(Paramstr(0)),PChar('c:\'+extractFilename(paramstr(0))),True);  
shellexecute(0, 'Open', PChar(extractFilename(paramstr(0))), '/runasis', 'c:\',sw_restore);  
FileName:=changefileext(paramstr(0),'.bat');  
assignFile(f,FileName);  
rewrite(f);  
writeln(f,':1');  
writeln(f,format('Erase "%s"',[paramstr(0)]));  
writeln(f,format('If exist "%s" Goto 1',[paramstr(0)]));  
writeln(f,format('Erase "%s"',[FileName]));  
closefile(f);  
ShellExecute(0, 'Open', PChar(FileName), nilnil, sw_hide);  
end  
else  
begin  
Application.Initialize;  
Application.CreateForm(TForm1, Form1);  
Application.Run;  
end;  
end.


Автор ответа: Vit
Взято с Vingrad.ru







Самый выгодный курс обмена валюты