windows - 一个独立的 Delphi 应用程序,也可以作为 Windows 服务安装

标签 windows delphi windows-services

在 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/

相关文章:

java - Windows 光标大小大于可用的最大值

python - 如何让 IDLE 接受 Unicode 字符的粘贴?

delphi - 获取 Delphi 中 OpenSSL DLL 的版本和/或位置?

delphi - 如何知道用户何时更改了 TMemo/TEdit 中的文本?

c# - 如何使用 MSBuild 部署 Windows 服务?

node.js - 作为 Windows 服务运行时,wkhtmltopdf 作为 Node 模块失败

linux - 一个系统只运行一个程序

windows - 应用效果时,MakeScreenshot 未正确渲染

delphi - 如何使用Delphi标准确认对话框但带有复选框 "Don'不要再问我“?

c# - 启动 Windows 服务并启动 cmd