我们开发了一个基于网络的C ++应用程序,该应用程序应作为Windows XP,7 32位系统的服务运行。
要将应用程序作为服务运行,我们使用了XYNTService
该应用程序正在作为一项服务工作,它在XP下运行良好。
但我无法在Windows 7下看到控制台,因为该服务在本地SERVICE帐户下运行,可能我们无法以任何方式查看GUI或访问它,因为它在另一个winlogon会话中运行。
有人可以建议我们如何使服务互动,以便用户在应用程序作为服务运行时可以在控制台上查看日志?
否则 如果我将它设置为基于托盘的应用程序,有没有办法将日志重定向到窗口?
答案 0 :(得分:0)
实际上,您可以订阅登录/注销事件,然后使用WTSEnumerateSessions和CreateProcessAsUser在每次用户登录系统时创建GUI,但这不是一个好的选择。
制作一个托管应用程序,当用户登录系统时会自动运行,您可以使用任何IPC机制(命名管道,共享内存,套接字)将日志从服务发送到托盘应用程序。