我一直在安装和卸载我的 Delphi Windows服务与下面提到的命令,但现在我想通过我自己的参数不显示在ParamStrMySrvc.exe /Install /Silent
MySrvc.exe /UnInstall /Silent
下面是我使用的代码,只是为了检查我是否得到了参数。只有ParamStr(0)保存在文本文件中,即:exe名称
procedure TVPS_Srvc.ServiceExecute(Sender: TService);
var
...
begin
bJustStarted:=True ;
try
while not Terminated do
begin
if bJustStarted then
begin
sl:=TStringlist.create ;
sl.Add(paramStr(0)+' '+paramStr(1)+' '+paramStr(2)+' '+paramStr(3)) ;
sl.SaveToFile('C:\ABC\params.txt');
Freeandnil(sl) ;
end;
....
end;
1条答案
按热度按时间huus2vyu1#
命令行参数可通过
ParamStr()
访问。但是,使命令行参数在TService.OnExecute
事件中可用的唯一方法是手动修改注册表以编辑用于执行服务的命令行。否则,您必须在启动服务时将所需的命令放入SCM中。这些参数可以通过TService.Param[]
属性而不是ParamStr()
访问。