Как заставить запускаться из определенной папки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 прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Директории ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |