+ -
当前位置:首页 → 问答吧 → ShellExecute

ShellExecute

时间:2011-12-09

来源:互联网

我在C++Builder中用 ShellExecute(0, "Open", ExeName.c_str(),"abc",NULL,SW_SHOW); 然后在Delphi中用
end;

procedure TMainForm.FormCreate(Sender: TObject);
var
  hsList: THashedStringList;
  I: Integer;
begin
  hsList := THashedStringList.Create;
  try
  for I := 1 to ParamCount - 1 do
  begin
  hsList.Add(ParamStr(i));
  end;
  ShowMessage(hsList.Text);
  finally
  hsList.Free;
  end;
end;
怎么接收不到参数abc,还有个问题,就是我要发送多个参数时是什么格式的!

作者: liuhengwinner   发布时间: 2011-12-09

ShellExecute(0, 'Open',Pchar('exe路径'), Pchar('参数1 参数2 参数3'), nil, SW_SHOWNORMAL);

多个用空格

作者: kaikai_kk   发布时间: 2011-12-09

先排除shellexecute
直接运行application1.exe param1 param2看看能不能收到

作者: funxu   发布时间: 2011-12-09

AnsiString ExeName = ExtractFilePath(Application->ExeName)+"\RestCool.exe ";
AnsiString Params = " HostApp="+IntToStr(int(this->Handle))+" "+" AgentCode=8809 QueueID=44-1 END";
ShellExecute(0, "Open", ExeName.c_str(),Params.c_str(),NULL,SW_SHOW);
}

可以正常接收参数了,为什么会少一个,当传一个参数时就收不到了,像上面的语句最后的END就收不到,END前面和QueuID=44-1是有空格的

作者: liuhengwinner   发布时间: 2011-12-09

热门下载

更多