Как заставить запускаться из определенной папки? |
Previous Top Next |
Приведенный пример кода проверяет из какой папки запущена программа, если она запущена не из корневой - то переносит себя в корень и запускается оттуда.
Code: |
program Project1; {©Drkb v.3(2007): www.drkb.ru, ®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::04568
Автор: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)
Взято с Vingrad.ru http://forum.vingrad.ru