代码之家  ›  专栏  ›  技术社区  ›  norgepaul

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

  •  2
  • norgepaul  · 技术社区  · 16 年前

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

    当作为应用程序运行时,这可以正常工作,但是当作为服务运行时,我在启动控制台应用程序时会遇到访问冲突。即使我启动它隐藏(SW\u HIDE),情况也是如此。

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

    EDIT:调用ShellExecute时发生访问冲突。

    1 回复  |  直到 16 年前
        1
  •  5
  •   Jeroen Wiert Pluimers    16 年前

    如果您正在使用 ShellExecute ,那么就不要:它在服务内部不起作用,而且几乎从来都不是启动流程的最佳方式。

    CreateProcess 取而代之的是。

    看到这群人了吗 ShellExecute / CreateProcess question threads on stackoverflow .

    --杰罗恩