Delphi程序带参数运行

时间:2022-08-06 19:41:31

程序1

program E1;

uses
Forms,Dialogs,SysUtils,
EndM1 in 'EndM1.pas' {Form2}; {$R *.res} begin
Application.Initialize;
Application.CreateForm(TForm2, Form2);
if ParamCount<> then
begin
ShowMessage('缺少参数:'+Inttostr(ParamCount));
Application.Terminate;
Exit;
end;
//在运行时去读是否有带参数值
if ParamStr()<>'-x' then
begin
ShowMessage('缺少参数:'+ParamStr());
Application.Terminate;
Exit;
end;
Application.Run;
end.

程序2

uses ShellAPI;
{$R *.dfm}
//function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall;
procedure TForm1.btn1Click(Sender: TObject);
var
sFileName,sParam,sFilePath: string;
begin
sFileName:=ExtractFilePath(Application.ExeName)+'E1.exe';
sFilePath:=ExtractFilePath(Application.ExeName);
sParam:='-x -y -z';
ShellExecute(, 'Open', PChar(sFileName), PChar(sParam), PChar(sFilePath), SW_SHOW);
end;