一、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/70538.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
12
|
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
13
|
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); |