【发布时间】:2013-06-26 09:06:13
【问题描述】:
我有两个用 Delphi 6 编写的不同可执行文件。我正在将它们转换为 Windows 服务。我已经转换了一个,它工作得很好。
是否可以将第二个 Delphi 应用程序也拉入这个新服务,也许作为自己的线程运行?或者我必须将它们各自转换为自己的服务。
我基本上只想在一项服务中运行这两个应用程序。
另外,我需要注意任何 Windows Vista/7 问题吗?除了明显以管理员身份登录来安装服务。
谢谢!
【问题讨论】:
我有两个用 Delphi 6 编写的不同可执行文件。我正在将它们转换为 Windows 服务。我已经转换了一个,它工作得很好。
是否可以将第二个 Delphi 应用程序也拉入这个新服务,也许作为自己的线程运行?或者我必须将它们各自转换为自己的服务。
我基本上只想在一项服务中运行这两个应用程序。
另外,我需要注意任何 Windows Vista/7 问题吗?除了明显以管理员身份登录来安装服务。
谢谢!
【问题讨论】:
2 EXE 1 服务: 这取决于您的应用程序如何运行。一个 Delphi 服务应用程序和多个 TService 后代。如果您可以为您的 2 个应用程序制作 2 个服务模块,那么您可以将它们放在 1 个服务应用程序中。
实际上,您可以添加一个服务应用程序,它会自动添加 1 个服务来处理您的第一个应用程序。然后,您可以添加另一个服务来处理您的第二个应用程序的工作。
关于 Window 7(以及 Vista),这些较新的操作系统在会话 0 中运行独立的服务(就像登录用户使用的另一个内部桌面除外)。因此,服务中的任何用户界面(如弹出表单、托盘图标等)通常对用户都是不可见的。
如果您的应用程序确实有用户界面,您也可以参考这篇文章: Converting a Delphi application to run as a service - is it necessary?
【讨论】: