一个应用程序调用另外的一个应用程序,如何传参数??顶者有分!!!!

解决方案 »

  1.   

    方法很多的,
    不知你要的哪种?
    XML应该是现在传递不同程序间参数最流行的一个了吧~
      

  2.   

    WinExec('Your.exe -a -b -c',SW_SHOW);
      

  3.   

    楼上的可以,但是,your.exe必须可以接收参数,要用到paramstr()这个函数;
    还有就是发送消息,wm_copydata,要定义一个Tcopydata(好像是,记不太清楚了);
    或都这两个.exe共享一块内存区,然后发送一个自定义消息,让your.exe从共享内存中取出数据
      

  4.   

    用createfilemap();mapviewoffile();等几个API,看一下《delphi5开发人员指南》吧
      

  5.   

    有关 Delphi 传入应用程式的命令列参数, 请参考以下的说明:
    用ParamCount函数取得命令参数的个数: 
    呼叫 ParamStr(0), 传回执行档的档名(含路径)
    呼叫 ParamStr(n), 传回第n个参数的内容
    procedure TForm1.FormCreate(Sender: TObject);
    var
    sFileName: string;
    begin
    if ParamCount > 0 then begin (* 有执行参数传入 *)
    sFileName := ParamStr(1); (* 取得参数内容 *)
    if FileExists(sFileName) then
    Memo1.Lines.LoadFromFile(sFileName)
    else
    Application.MessageBox('找不到指定的档案', '讯息', 48);
    end;
    end;
    用ParamStr ,ParamCount ,例子:
    var
      i: Integer;
    begin
      for i := 1 to ParamCount do
        if LowerCase(ParamStr(i)) = 'beep' then
          Beep;
    end;
    运行时program param1 param2 ...
      

  6.   

    ShellExecute
    要uses ShellAPI
      

  7.   

    传递参数挺简单的,WinExec(程序路径、名称+参数,显示方式)就可以了。能接受参数的外部程序不用考虑,他们自己知道该怎么做。如果是自己做的,那就要接收参数,确定自己该干什么。用ParamCount确定参数数量,然后ParamStr(INDEDX)取得参数。
      

  8.   

    把参数写入一个INI文件,被调用应用程序启动时从INI文件读取
      

  9.   

    uses ShellAPI;
    ShellExecute(handle,'open','改成你要打开的程序','改成你要传递的参数',nil,18)