繁体   English   中英

Windows服务凭据

[英]Windows service credentials

我有一个Windows服务,应该打印出HTML文本。
操作系统为7,带有.NET 4.5.1和IE 11。

编码:

    private static void PrintOnStaThread(string text)
    {
        using (WebBrowser webBrowser = new WebBrowser())
        {
            webBrowser.Navigate("about:blank");
            webBrowser.Document.OpenNew(false);

            while (webBrowser.DocumentText != text && webBrowser.ReadyState != WebBrowserReadyState.Complete)
            {
                webBrowser.Document.Write(text);
                webBrowser.Refresh();
                Application.DoEvents();
            }

            InternetExplorer internetExplorer = (InternetExplorer)webBrowser.ActiveXInstance;
            internetExplorer.ExecWB(OLECMDID.OLECMDID_PRINT, OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER, Win32.PRINT_WAITFORCOMPLETION);
        }
    }

问题:
使用Local System帐户记录服务时, ExecWB函数将不执行任何操作,并且线程将毫无例外地退出。 使用管理员凭据记录服务时, ExecWB功能可以正常运行,但是我不想使用此帐户。

任何意见将受到欢迎。

可以,但是您需要将服务配置为“交互式”。

有关更多信息,请访问此文档http://msdn.microsoft.com/zh-cn/library/windows/desktop/ms683502(v=vs.85).aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM