Delphi程序带参数运行
Posted westsoft
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi程序带参数运行相关的知识,希望对你有一定的参考价值。
程序1
program E1; uses Forms,Dialogs,SysUtils, EndM1 in ‘EndM1.pas‘ {Form2}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm2, Form2); if ParamCount<>3 then begin ShowMessage(‘缺少参数:‘+Inttostr(ParamCount)); Application.Terminate; Exit; end; //在运行时去读是否有带参数值 if ParamStr(1)<>‘-x‘ then begin ShowMessage(‘缺少参数:‘+ParamStr(1)); Application.Terminate; Exit; end; Application.Run; end.
程序2
uses ShellAPI; {$R *.dfm} //function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall; procedure TForm1.btn1Click(Sender: TObject); var sFileName,sParam,sFilePath: string; begin sFileName:=ExtractFilePath(Application.ExeName)+‘E1.exe‘; sFilePath:=ExtractFilePath(Application.ExeName); sParam:=‘-x -y -z‘; ShellExecute(0, ‘Open‘, PChar(sFileName), PChar(sParam), PChar(sFilePath), SW_SHOW); end;
以上是关于Delphi程序带参数运行的主要内容,如果未能解决你的问题,请参考以下文章
终于懂了:Delphi重定义消息结构随心所欲,只需要前4个字节是消息编号就行了,跟Windows消息虽然尽量保持一致,但其实相互没有特别大的关系。有了这个,就有了主动,带不带句柄完全看需要。(代码片段