Windows 服务未作为本地会话启动

Posted

技术标签:

【中文标题】Windows 服务未作为本地会话启动【英文标题】:Windows Service not launching as local session 【发布时间】:2013-04-26 10:08:04 【问题描述】:

我正在创建 windows 服务并通过它启动一个 exe 应用程序,

从这个链接我创建了一个 Windows 服务Windows Service

但是当我创建一个设置和部署然后如果我安装时,从服务调用的 exe 会作为本地服务启动。

我仍然可以将任务管理器中的 xxx.exe 作为本地服务。

即使有这个帮助我也想不通:Launching GUI from windows service

如何以我已登录的本地用户名启动此 exe?

【问题讨论】:

【参考方案1】:

您有许多选项可用于创建在与父进程不同的用户下运行的进程:

CreateProcessAsUserCreateProcessWithTokenW。这些要求您获取代表用户的主令牌,调用LogonUserDuplicateTokenExCreateProcessWithLogonW 允许您指定用户名和密码作为参数。

但是,如果您希望自己创建的进程出现在交互式桌面上,则需要做很多工作。本文详细介绍:Launching an interactive process from Windows Service in Windows Vista and later。

【讨论】:

非常感谢。现在我可以使用本地会话部署 exe。但是当我从任务管理器中杀死 exe 时,该服务不会重新启动 exe 这似乎是一个完全不同的问题。我没有回答你问的问题吗? 肯定是的,这就是我正在寻找的答案

以上是关于Windows 服务未作为本地会话启动的主要内容,如果未能解决你的问题,请参考以下文章

win10 登入界面显示: 本地会话管理器 服务未能登录 RPC 服务器不可用 随后一直重启重复

如何从 Windows 服务启动进程到当前登录的用户会话

如何从Windows服务启动进程到当前登录的用户会话

在本地计算机无法启动windows backup服务,错误1053:服务没有及时响应启动或控制

如何通知Windows该服务已启动?

.bat 文件在应用程序作为 Windows 服务执行时未运行