windows-services - 如何在 Windows 服务中启动 GUI 程序?

标签 windows-services createprocess

当我以 LocalSystem 帐户运行服务时,我可以使用以下代码在当前登录帐户下启动 GUI 程序:

WTSGetActiveConsoleSessionId->WTSQueryUserToken->CreateProcessAsUser

但是,当我以个人帐户运行该服务时,GUI 程序不会出现。我可以在任务管理器中看到它。

当服务在我的个人帐户下运行时,我应该如何启动 GUI 程序?

最佳答案

John 和 jdigital 都是正确的——据我了解,服务通常可以具有桌面访问权限(您必须使用本地系统)或网络访问权限(您需要指定一个帐户来运行)。

您将需要两个将您的应用程序一分为二 - 一个用于与桌面交互,另一个用于通过网络交谈。然后,这两个部分可以相互交谈,将信息传递给最终用户。

关于windows-services - 如何在 Windows 服务中启动 GUI 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/948417/

相关文章:

c - 将参数传递给 CreateProcess() 在 C 中不起作用

c++ - 使用 IOCP 检测子进程的退出/失败 - C++ - Windows

windows - CreateProcessWithLogonW() 问题 - 需要使用同一用户启动子流程

c# - 从 Windows 服务打印 pcl 文件的 LPR 命令不起作用(现在是托盘应用程序)

c# - c# windows服务的配置文件

c# - 线程池 + 轮询 C# .Net 3.5

c++ - 无法从通过管道 C++ (Windows) 重定向的程序中获得正确的输出

c++ - 创建进程不工作

.net - 系统错误 5 启动 .NET 服务时访问被拒绝

.net - 如何自动启动C# WebService?