用ShellExecute如何调用一个exe,要传进一个参数.TStringList型的参数 exe 可以接受的参数就是String(Char),不能是别的类型。除非是用多个参数来组成一个TStrings类型。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 接受参数就是用ParamStr了,e.g.for i:=1 to ParamCount-1 do StringList1.Add(ParamStr(i)); 下面过程是执行可执行程序(FileName),并使用参数(数据库的BDE别名,用户名,密码)请你参考procedure TfrmReportMain.ExecuteFile(FileName: string);var Param: string;begin with DataModule1.DatabaseMain do begin Param := AliasName + ' ' + copy(Params.Strings[0], pos('=', Params.Strings[0]) + 1, Length(Params.Strings[0]) - pos('=', Params.Strings[0])) + ' ' + copy(Params.Strings[1], pos('=', Params.Strings[1]) + 1, Length(Params.Strings[1]) - pos('=', Params.Strings[1])); end; try ShellExecute(Handle, 'Open', PChar(FileName), PChar(Param), '', SW_SHOW); except MessageBox(Handle, PChar('无法执行程序:' + FileName), 'err', MB_OK + MB_ICONERROR); end;end; 请教一个简单的思路问题 实现intenet连接共享 线程调用 soket能和indy互相通讯吗 关于binary类型(sql server) 2000下怎么更改桌面背景? 在sqlserver7下怎样在一个表中建立索引 谁有Borland Delphi 6 Personal Edition 的Serial Number 和Authorization key? SQL的Open命令的问题 如何建立有图像字段的数据库! 【www.51delphi.com怎么进不去了?????】 请问怎样报stringgrid的滚动条变成别的样子,高分奉送!(详细内容见里面)
e.g.
for i:=1 to ParamCount-1 do
StringList1.Add(ParamStr(i));
procedure TfrmReportMain.ExecuteFile(FileName: string);
var
Param: string;
begin
with DataModule1.DatabaseMain do
begin
Param := AliasName + ' ' +
copy(Params.Strings[0],
pos('=', Params.Strings[0]) + 1,
Length(Params.Strings[0]) - pos('=', Params.Strings[0])) + ' ' +
copy(Params.Strings[1],
pos('=', Params.Strings[1]) + 1,
Length(Params.Strings[1]) - pos('=', Params.Strings[1]));
end; try
ShellExecute(Handle, 'Open', PChar(FileName), PChar(Param), '', SW_SHOW);
except
MessageBox(Handle, PChar('无法执行程序:' + FileName), 'err', MB_OK + MB_ICONERROR);
end;
end;