一、Delphi的A.EXE文件,执行时。通过以下方式调用:
shellexecute(handle,'open',pchar(FileName),pchar(sParam),nil,sw_shownormal);
sParam就是Dos命令形式的参数,格式如下:
命令行“A.exe 参数1 参数2 参数3 参数4......”
二、A.EXE执行后,它会自动读入sParam,sParam分解
命令行“A.exe 参数1 参数2 参数3 参数4......”
Delphi 默认变量 ParamCount 获取参数个数;
变量 ParamStr(i) 参数数组,i值取0-ParamCount-1,它们分别:
ParamStr(0) EXE自身文件名
ParamStr(1) 第1个参数
ParamStr(2) 第2个参数
ParamStr(3) 第3个参数
ParamStr(4) 第4个参数
三、实例
1、调用EXE设置Dos命令行参数
2、EXE 获取参数,在窗口的Onshow事件中
此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/70546.html
shellexecute(handle,'open',pchar(FileName),pchar(sParam),nil,sw_shownormal);
sParam就是Dos命令形式的参数,格式如下:
命令行“A.exe 参数1 参数2 参数3 参数4......”
二、A.EXE执行后,它会自动读入sParam,sParam分解
命令行“A.exe 参数1 参数2 参数3 参数4......”
Delphi 默认变量 ParamCount 获取参数个数;
变量 ParamStr(i) 参数数组,i值取0-ParamCount-1,它们分别:
ParamStr(0) EXE自身文件名
ParamStr(1) 第1个参数
ParamStr(2) 第2个参数
ParamStr(3) 第3个参数
ParamStr(4) 第4个参数
三、实例
1、调用EXE设置Dos命令行参数
|
1
2
3
4
5
6
7
8
9
10
11
|
FileName:=MainPath+'WageA.exe'; sParam:=OpenSN; // 参数1 打开模块密码 sParam:=sParam+' '+OperateName; // 参数2 操作者 for i:=0 to MyList.Count-1 do begin sParam:=sParam+' '+MyList.Strings[i]; // 参数3-6 end; if FileExists(FileName) then begin shellexecute(handle,'open',pchar(FileName),pchar(sParam),nil,sw_shownormal); end; |
2、EXE 获取参数,在窗口的Onshow事件中
|
1
2
3
4
5
6
7
8
9
10
11
12
|
for i:=1 to ParamCount do ShowMessage(ParamStr(i)); // 显示参数// 读取 DOS命令行参数 if ParamStr(1)<>OPenSN then // 第一个参数,约定密码 begin if Not InputQuery('本模块程序,只能调用!', '密码进入: ', SN) // 非调方式,录入密码 then ExitProcess(0); if SN<>OPenSN then ExitProcess(0); // 检查密码不对退出程序 InputQuery('用户名?', '用户: ', S) // 密码对,再录入用户名 end; OperateName:=ParamStr(2); // 读取客户名 if S<>'' then OperateName:=Trim(S); |
此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/70546.html