Delphi - 使用Form在应用程序内安装,启动,停止服务

时间:2013-03-27 23:44:14

标签: delphi

我有Delphi应用程序并且我添加了服务,我如何通过主表单按钮安装和启动它?

我可以在单独的项目服务中完成,但我的目标是使服务接口控制它。

由于

2 个答案:

答案 0 :(得分:9)

您必须使用Win32 API服务控制功能 - CreateService()OpenService()StartService()ControlService()等。服务无法显示自己的用户界面在运行时,UI需要作为单独的进程运行。但是,如果需要,可以使用相同的可执行文件托管服务代码和UI代码,使用命令行参数知道何时作为服务运行以及何时作为UI运行。但这更像是一个代码管理问题。您可以轻松地将两个代码库托管在单独的可执行文件中。

答案 1 :(得分:4)

您不能再在同一个应用程序中拥有服务的可视界面。

自Windows Vista及更高版本起,服务在与用户不同的桌面上运行,无法与用户进行直观交互。您需要编写一个单独的应用程序,通过命名管道,邮件槽或其他形式的进程间通信,或通过Windows API提供的service control functions之一与您的服务进行通信。