0

我们开发了一个基于网络的 C++ 应用程序,它应该作为 Windows XP 7 32 位系统的服务运行。

  • 该应用程序是基于控制台的。
  • 一旦应用程序启动并运行,用户应该能够在控制台中看到日志。

为了使应用程序作为服务运行,我们使用了 XYNTService

该应用程序作为服务运行,并且在 XP 下运行良好。

但是我在 Windows 7 下看不到控制台,由于该服务在本地 SERVICE 帐户下运行,可能我们看不到 GUI 或以任何方式访问它,因为它正在另一个 winlogon 会话中运行。

那么有人可以建议我们如何使服务交互,以便用户可以在应用程序作为服务运行时在控制台上看到日志?

否则,如果我将其设为基于托盘的应用程序,有没有办法将日志重定向到一个窗口?

4

1 回答 1

0

实际上,您可以订阅登录/注销事件,然后在每次用户登录系统时使用WTSEnumerateSessionsCreateProcessAsUser来创建 GUI,但这不是一个好的选择。

制作一个在用户登录系统时自动运行的托盘应用程序是更好的主意,您可以使用任何 IPC 机制(命名管道、共享内存、套接字)将日志从服务发送到托盘应用程序。

于 2013-08-14T08:08:45.470 回答