允许Windows服务与Perl中的桌面交互

时间:2015-02-05 09:55:19

标签: windows perl windows-services

我有一个运行的Windows服务,其部分操作是打开一个Internet Explorer窗口。这一切都正常,除了Internet Explorer窗口(从服务调用时)没有出现!您可以看到它已成功启动,并且可以在任务管理器中看到它,但它就像隐藏了窗口一样。

#!/usr/bin/perl

use Win32;

my $prog="C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe";
my $arg="";

Win32::Spawn( $prog, $arg, $pid );

注意:我无法将该Windows服务作为“本地系统帐户”运行,其中有一个选项“允许服务与桌面交互”,由于某些其他原因,我必须在附加的图片中指定用户名,但我已登录进入具有相同帐户的机器(aa \ tour)。windows service image

有没有办法在前景中看到iexplore窗口?感谢。

1 个答案:

答案 0 :(得分:0)

没有。您正在使用Session 0 Isolation,这是一项安全增强功能,可防止从Windows服务启动的应用程序出现在"常规"用户的桌面。曾几何时(在Windows Vista之前),"Allow Service to Interact with desktop"设置将使您的IE窗口显示在控制台会话中,但是现在已经不再像现在的隔离那样工作了。