1、 uses ShellAPI;procedure TForm1.Button1Click(Sender: TObject); begin ShellExecute(Handle, nil, 'notepad.exe', 'c:\temp\temp.txt', nil, SW_SHOW); end;2、 procedure TForm1.Button1Click(Sender: TObject); var I: Integer; begin for I := 1 to ParamCount do Memo1.Lines.Add(ParamStr(I)); end;
如果ShellExecute传递多个参数,参数格式应该怎样写? 我试了一下代码,出来结果令我疑惑。 发送部分代码: procedure TFormShellExec.BtnRunClick(Sender: TObject); var Buffer:Array[0..512] of char; begin if(EditExeFileName.Text<>'')then begin StrPCopy(Buffer,EditExeFileName.Text); ShellExecute(Self.Handle,nil,Buffer,'Hello World',nil,SW_SHOW); end; end; 接收部分代码: procedure TFormMainParameter.FormShow(Sender: TObject); var i:Integer; begin Memo.Clear; for i:=0 to ParamCount-1 do Memo.Lines.Add(ParamStr(i)); end; 在Memo中显示的结果: E:\LightGreen's Document\Lab\Delphi\ShellExecAndParameter\PrjParameter.exe Hello 如果把"Hello World"改为'HelloWorld"的话,结果是 E:\LightGreen's Document\Lab\Delphi\ShellExecAndParameter\PrjParameter.exe 连"Hello world"都不见了。 就是说,参数"Hello World"的传递出问题了。请教
procedure TForm1.Button1Click(Sender: TObject); begin ShellExecute(Handle, nil, 'myproject.exe', 'send parameter', nil, SW_SHOW); end;procedure TForm1.create(Sender: TObject); var I: Integer; begin for I := 1 to ParamCount do Memo1.Lines.Add(ParamStr(I)); end;
uses ShellAPI;procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Handle, nil, 'notepad.exe', 'c:\temp\temp.txt', nil, SW_SHOW);
end;2、
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
for I := 1 to ParamCount do
Memo1.Lines.Add(ParamStr(I));
end;
我试了一下代码,出来结果令我疑惑。
发送部分代码:
procedure TFormShellExec.BtnRunClick(Sender: TObject);
var
Buffer:Array[0..512] of char;
begin
if(EditExeFileName.Text<>'')then
begin
StrPCopy(Buffer,EditExeFileName.Text);
ShellExecute(Self.Handle,nil,Buffer,'Hello World',nil,SW_SHOW);
end;
end;
接收部分代码:
procedure TFormMainParameter.FormShow(Sender: TObject);
var
i:Integer;
begin
Memo.Clear;
for i:=0 to ParamCount-1 do
Memo.Lines.Add(ParamStr(i));
end;
在Memo中显示的结果:
E:\LightGreen's Document\Lab\Delphi\ShellExecAndParameter\PrjParameter.exe
Hello
如果把"Hello World"改为'HelloWorld"的话,结果是
E:\LightGreen's Document\Lab\Delphi\ShellExecAndParameter\PrjParameter.exe
连"Hello world"都不见了。
就是说,参数"Hello World"的传递出问题了。请教
begin
ShellExecute(Handle, nil, 'myproject.exe', 'send parameter', nil, SW_SHOW);
end;procedure TForm1.create(Sender: TObject);
var
I: Integer;
begin
for I := 1 to ParamCount do
Memo1.Lines.Add(ParamStr(I));
end;