如何在自动登录会话中以交互方式运行 Windows 服务

如何在自动登录会话中以交互方式运行 Windows 服务

我的 Windows 7 机器有一个用户帐户“MyUser”,它在启动时自动登录。我正在运行 Windows 服务“myAppService”,它运行一个服务器,而该服务器又会生成其他进程。这一切都没有问题……

但是,我希望此服务器可以在自动登录的帐户中运行,这样生成的进程就会显示在桌面上。或者,更好的是,只有生成的进程出现在自动登录的帐户中(但我认为这是不可能的——因此我打算在正确的会话中运行该服务)。

本质上:如何让我的服务在登录会话中运行?

这是我今天注册服务的方式:

sc create myService binPath= "\\192.168.0.225\share\myApp\myAppService.exe --debug --log \\192.168.0.225\share\myApp\logs\myApp-%computername%.log" DisplayName= "My App" start= auto depend= LanmanWorkstation obj= .\MyUser password= MyUserPass

在服务的“登录”选项卡中,我尝试选择“本地系统帐户”并选中“允许服务与桌面交互”,但这会产生错误:Error 5: Access is denied.

在此处输入图片描述

答案1

从 Vista 开始,所有服务都在会话 0 中单独运行,而第一个用户始终在会话 1 中启动。这称为会话 0 隔离。因此你尝试做的事没有效果。

相关内容