在 Delphi 中,您可以创建独立的 Windows VCL Forms 应用程序。您还可以创建 Windows 服务应用程序。
是否可以将两者结合在一个应用程序中,既可以作为独立应用程序运行,也可以作为 Windows 服务安装?
最佳答案
完全有可能。诀窍是编辑 .dpr 以在您希望作为应用程序运行时创建主窗体,而在您希望作为服务运行时创建服务窗体。像这样:
if SvComFindCommand('config') then begin
//When run with the /config switch, display the configuration dialog.
Forms.Application.Initialize;
Forms.Application.CreateForm(TfrmConfig, frmConfig);
Forms.Application.Run;
end
else begin
SvCom_NTService.Application.Initialize;
SvCom_NTService.Application.CreateForm(TscmServiceSvc, scmServiceSvc);
SvCom_NTService.Application.Run;
end;
上面的代码使用 SvCom 来运行服务,但使用标准的 TService 也可以达到完全相同的效果。
我多年前为 The Delphi Magazine 写过一篇关于此的文章。您可以在这里阅读:Many Faces Of An Application .
关于windows - 一个独立的 Delphi 应用程序,也可以作为 Windows 服务安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2387383/