是否有可能推出从Windows服务的Web浏览器?我已经建立在C#的基本服务和“本地系统”安全简档下安装它。

为服务看起来代码如下:

namespace Bootloader
{
    public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            string target = "http://www.microsoft.com";
            System.Diagnostics.Process.Start(target);
        }

        protected override void OnStop()
        {
        }
    }
}

当的服务运行时,什么也没有发生。他们没有任何用户界面,但这是否意味着启动网页浏览器窗口的服务说文件是不可能的。

有帮助吗?

解决方案

这是可能仅在XP和更低。在Vista中,Windows服务一个单独的桌面上完全运行。你必须有一些在用户的桌面上运行,以实现这一目标。

写一个应用程序与隐藏窗口,在启动时启动作为一种解决方法。

其他提示

我不认为这是可能的。我知道,如果你想运行华廷(即在浏览器实例中运行的功能测试)不能从我的CI环境中运行,如果是作为服务运行,但只有当它运行作为一个应用程序。

我相信这是可以做到,但你需要做额外的工作,以应对进程隔离模式(窗口站和桌面)。看看这个页面:过程连接到一个窗口站的。由于不能修改浏览器,则可能需要写改变上下文中的垫片,然后调用浏览器。

一个解决方法是运行服务作为交互式服务,但不赞成这种方式并不会在新版本的Windows的工作。

服务被明确地从与用户交互禁止的。由于Vista的这个强制执行,请参见互动服务

  

重要服务不能直接   与用户与Windows交互   Vista系统。因此,该技术   在标题为使用一节中提到   交互式服务不应该   在新的代码中使用。

在解决方案是将inteactive部分分离成启动一个正常的处理中,在用户会话开始时(即,一个启动程序)。然后该过程可通过其选择(共享memeory,净管道,TCP等)的IPC的服务进行通信。需要时该服务可以直接此过程以启动程序。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top