Как заставить запускаться из определенной папки?
Falk0ner, вс, 06/07/2008 - 15:35.
Приведенный пример кода проверяет из какой папки запущена программа, если она запущена не из корневой - то переносит себя в корень и запускается оттуда.
program Project1;
{©Drkb v.3(2007): <a href="http://www.drkb.ru" title="www.drkb.ru">www.drkb.ru</a>,
®Vit (Vitaly Nevzorov) - nevzorov@yahoo.com}
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), nil, nil, sw_hide);
end
else
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
end.
{©Drkb v.3(2007): <a href="http://www.drkb.ru" title="www.drkb.ru">www.drkb.ru</a>,
®Vit (Vitaly Nevzorov) - nevzorov@yahoo.com}
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), nil, nil, sw_hide);
end
else
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
end.
Автор: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)
Взято с Vingrad.ru http://forum.vingrad.ru
Отправить комментарий