Я хочу запустить внешнюю программу под названием «copy.bat», расположенную на моем рабочем столе «C:\Users\Jack\Desktop\RunProgram\lib\x86_64-win64». Если я хочу запустить Программу на чужом компьютере/учетной записи, где «copy.bat» находится в той же папке, это не сработает, потому что имя пользователя изменится. Мой вопрос: есть ли способ использовать переменное имя пользователя?
Это то, что я придумал, но это не работает...
var
Form1: TForm1;
Runprogram:TProcess;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
RunProgram := TProcess.Create(nil);
RunProgram.CommandLine := '%USERPROFILE%\Desktop\RunProgram\lib\x86_64-win64\Copy.bat';
RunProgram.Execute;
RunProgram.Free;
end;
P.S. Если я ввожу этот путь «C:\Users\Jack\Desktop\RunProgram\lib\x86_64-win64\Copy.bat», он работает.
SHGetKnownFolderPath
- person David Heffernan   schedule 07.08.2017