![]() |
![]() ![]() ![]() ![]() |
|
Как заставить запускаться из определенной папкиDelphi , Файловая система , Директории
Автор: Vit Приведенный пример кода проверяет из какой папки запущена программа, если она запущена не из корневой - то переносит себя в корень и запускается оттуда
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), nil, nil, sw_hide);
end
else
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
end.
Программный код, который вы предоставили, написан на языке Delphi и проверяет, запущен ли программный файл из определенного каталога. Если не, то программа перемещается в корневой каталог и запускается заново. Процесс работы следующий:
Альтернативное решение: Вместо перемещения программы в корневой каталог и создания нового файла batch можно использовать функцию Пример кода: В этом коде функция Обратите внимание, что это подход может иметь некоторые ограничения в зависимости от вашей конкретной требований и ограничений. В статье описывается пример программы на языке Delphi, который проверяет из какой папки запущена программа и если она не запущена из корневой - то переносит себя в корень и запускается оттуда. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Директории ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||