首页 > 解决方案 > 如何以会话 id 不等于 0 的不同用户身份启动进程?

问题描述

我正在尝试以不同的用户身份启动一个进程。这个过程启动了一个 pdf 转换器,会话 id 等于 0。它有一个问题..它随机停止!也许是因为这个转换器的一些计算或 Gui 问题?我们甚至不能改变那个程序。所以,我认为这可能是由于运行 0 的会话 id 的隔离造成的。我有一个在 Windows 7 中运行的服务。在 Windows 7 中,所有服务都在会话 0 中运行。我想从该服务创建一个交互式用户会话(在会话 0 以外的会话中)并在该会话中启动应用程序。我的问题是,当我调用 LogonUser 启动交互式用户会话,然后使用 CreateProcessAsUser 启动应用程序时,应用程序最终在会话 0 中运行。

出于这个原因,我正在尝试执行此解决方案。条件是它必须以会话 id 不等于 0 开始,在调度程序中运行。

标签: c#processtasksessionidisolation

解决方案


推荐阅读