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】:您有许多选项可用于创建在与父进程不同的用户下运行的进程:
CreateProcessAsUser
或 CreateProcessWithTokenW
。这些要求您获取代表用户的主令牌,调用LogonUser
或DuplicateTokenEx
。
CreateProcessWithLogonW
允许您指定用户名和密码作为参数。
但是,如果您希望自己创建的进程出现在交互式桌面上,则需要做很多工作。本文详细介绍:Launching an interactive process from Windows Service in Windows Vista and later。
【讨论】:
非常感谢。现在我可以使用本地会话部署 exe。但是当我从任务管理器中杀死 exe 时,该服务不会重新启动 exe 这似乎是一个完全不同的问题。我没有回答你问的问题吗? 肯定是的,这就是我正在寻找的答案以上是关于Windows 服务未作为本地会话启动的主要内容,如果未能解决你的问题,请参考以下文章
win10 登入界面显示: 本地会话管理器 服务未能登录 RPC 服务器不可用 随后一直重启重复