【问题标题】:Windows service credentialsWindows 服务凭据
【发布时间】:2014-10-03 12:55:20
【问题描述】:

我有一个应该打印出 HTML 文本的 Windows 服务。
操作系统是 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 功能可以完美运行,但我不想使用此帐户。

欢迎任何 cmets。

【问题讨论】:

标签: c# service credentials printing-web-page


【解决方案1】:

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

有关更多信息,请查看此文档http://msdn.microsoft.com/en-us/library/windows/desktop/ms683502(v=vs.85).aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 2015-11-15
    相关资源
    最近更新 更多