【发布时间】:2015-02-02 16:52:37
【问题描述】:
序言:我在 Windows 7 上使用 Lazarus 1.2.6 和 Freepascal 2.6.4,我的解决方案必须基于此 - 而不是 C 或 C++。不过,如果存在类似的东西,我可以使用 Delphi。
问题:我希望创建一个小程序,理想情况下是从命令行启动,然后只是在后台运行,而无需显式打开控制台应用程序。
我正在努力研究如何最好地实现它。
我读过 this link 和 this link 和 this C based example 和 this Linux example 但正如一位用户指出的那样“如果你不想要控制台应用程序,就不要制作”,这就引出了一个问题:什么还有其他方法吗?如果您不想要 GUI,也不想要控制台,我认为还有另一种方法可以创建静默程序,然后启动它,然后让它在后台运行?大概是作为一种服务或类似的东西?
或者,我想到的另一种方法是创建一个包含我的程序函数的库(当然在编译时会生成一个 DLL),在 DLL 的末尾导出这些函数,然后从单独的终端调用它们我假设我可以关闭但从 DLL 调用的函数可能会继续运行的应用程序?换句话说 - 两个程序 - 一个终端程序启动另一个不可见的程序,然后关闭启动程序?这是可能的还是推荐的?
【问题讨论】:
-
如果您不需要控制台或 GUI 应用程序,解决方案仍然是制作一个 GUI 应用程序,但不显示一个(例如托盘图标的工作方式)。这些是后台进程。或者,您可以编写一个 Windows 服务。
-
我不知道你是否为此投了反对票,但如果你投了反对票,我可以这样说:我很清楚我正在使用 Windows 并开发一个 Windows 应用程序。我没有提及为其他平台创建它。 “Linux 示例”只是另一个涵盖相同主题的主题,因此我将其链接起来以对其他读者有所帮助。当人们出于对某些事情不太了解而对有时提出的问题投反对票时,我会感到厌烦,然后他们因为不准确而被投反对票。
-
请原谅我没有完全精通现有的所有各种编程。
-
@Gizmo_the_Great,你可能也想摆脱讽刺。如果您进行一些研究并对您感兴趣的问题了解最少,那么没有人会拒绝您。
标签: delphi background terminal lazarus freepascal