C# Windows服务凭据

C# Windows服务凭据,c#,service,credentials,printing-web-page,C#,Service,Credentials,Printing Web Page,我有一个Windows服务,可以打印HTML文本。 操作系统是7,带有.NET4.5.1和IE11 守则: private static void PrintOnStaThread(string text) { using (WebBrowser webBrowser = new WebBrowser()) { webBrowser.Navigate("about:blank"); webBrowse

我有一个Windows服务,可以打印HTML文本。
操作系统是7,带有.NET4.5.1和IE11

守则:

    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);
        }
    }
问题:
使用
本地系统
帐户记录服务时,
ExecWB
函数不执行任何操作,线程将毫无例外地退出。当使用管理员凭据登录服务时,
ExecWB
功能工作正常,但我不想使用此帐户


欢迎任何评论。

这是可能的,但您需要将服务配置为“交互式”


有关详细信息,请参阅本文档

不要在Windows服务中使用WinForms。问题很可能是由这一点引起的。使用不同的方式打印HTML。如果必须,请参见,但仍使用
WebBrowser
控件。另请参见。我已经知道并使用了代码中的第一个示例。我真的不明白你说的“不要使用WinForms”是什么意思。我想我不是。