我一直陷入其中一项任务中,需要几天的时间才能完成。我写了一个将打印的Windows服务。我在安装了打印机的用户下安装了Windows服务。
现在我想要的是打印文件。我一直在使用这个代码,它在控制台应用程序中工作得非常好但是当我复制过去的Windows服务中的代码时,它没有做任何事情。没有任何例外。坚持到这一点。请帮忙
var fileToPrint = @"http://www.myurl.com";
using (Process printProcess = new Process())
{
string systemPath = Environment.GetFolderPath(Environment.SpecialFolder.System);
printProcess.StartInfo.FileName = systemPath + @"\rundll32.exe";
printProcess.StartInfo.Arguments = systemPath + @"\mshtml.dll,PrintHTML """ + fileToPrint + @"""";
//printProcess.StartInfo.UseShellExecute = true;
//printProcess.StartInfo.Verb = "print";
printProcess.StartInfo.CreateNoWindow = true;
printProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
printProcess.Start();
}
非常感谢。
修改-1 我发现了这个答案here。我已经测试过了。在控制台应用程序中完美运行,但在Windows服务中没有运气