我可以向Windows服务应用程序Delphi传递参数吗

vjhs03f7  于 2023-06-05  发布在  Windows
关注(0)|答案(1)|浏览(448)

我一直在安装和卸载我的 Delphi Windows服务与下面提到的命令,但现在我想通过我自己的参数不显示在ParamStr
MySrvc.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;
huus2vyu

huus2vyu1#

命令行参数可通过ParamStr()访问。但是,使命令行参数在TService.OnExecute事件中可用的唯一方法是手动修改注册表以编辑用于执行服务的命令行。否则,您必须在启动服务时将所需的命令放入SCM中。这些参数可以通过TService.Param[]属性而不是ParamStr()访问。

相关问题