有关 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 ...
不知你要的哪种?
XML应该是现在传递不同程序间参数最流行的一个了吧~
还有就是发送消息,wm_copydata,要定义一个Tcopydata(好像是,记不太清楚了);
或都这两个.exe共享一块内存区,然后发送一个自定义消息,让your.exe从共享内存中取出数据
用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 ...
要uses ShellAPI
ShellExecute(handle,'open','改成你要打开的程序','改成你要传递的参数',nil,18)