是否可以从Windows服务运行隐藏的控制台应用程序?

时间:2010-05-31 13:02:02

标签: delphi windows-7 service delphi-2010 console-application

我在Delphi 2010中编写了一个服务器,需要不时地启动一个控制台应用程序来备份数据库。控制台应用程序可以将日志信息发送到控制台窗口,但不是必需的。

这在作为应用程序运行时工作正常,但在作为服务运行时,我在启动控制台应用程序时会遇到访问冲突。即使我将其隐藏(SW_HIDE)也是如此。

是否可以从Windows服务启动隐藏的控制台应用程序?该解决方案需要在XP,Vista和Windows 7上运行。

编辑:当我调用ShellExecute时发生访问冲突。

1 个答案:

答案 0 :(得分:5)

如果您使用ShellExecute,则不要:它在服务中不起作用,几乎不是启动流程的最佳方式。

请改用CreateProcess

查看这一堆ShellExecute / CreateProcess question threads on stackoverflow

- 的Jeroen