C# 使用Silverlight和com互操作打印
我试图在没有打印对话框的情况下从silverlight打印,为此我使用System.Runtime.InteropServices.Automation 现在我正在创建一个临时txt文件,其中包含要发送到打印机的文本C# 使用Silverlight和com互操作打印,c#,silverlight,printing,com-interop,C#,Silverlight,Printing,Com Interop,我试图在没有打印对话框的情况下从silverlight打印,为此我使用System.Runtime.InteropServices.Automation 现在我正在创建一个临时txt文件,其中包含要发送到打印机的文本 using (dynamic fso = AutomationFactory.CreateObject(@"Scripting.FileSystemObject")) { dynamic file = fso.CreateTextFile(cFileName, true);
using (dynamic fso = AutomationFactory.CreateObject(@"Scripting.FileSystemObject"))
{
dynamic file = fso.CreateTextFile(cFileName, true);
file.Write(printText);
file.Close();
}
之后,我将使用shell.application打印该文档
dynamic shell = AutomationFactory.CreateObject("Shell.Application");
shell.ShellExecute(cFileName, "", "", "print", 1);
问题是,如果没有临时txt文件,如何直接打印到打印机
别忘了,我使用的是浏览器外的Silverlight 4,信任度较高。您应该能够启动记事本并发送内容,尽管这不是一个有趣的解决方案: 阅读: 以及: 所以基本上, 1.启动记事本的一个实例。 2.等一会儿。 3.将文本发送到记事本 4.发送{PRTSC}进行打印 5.当然,请关闭实例;)
祝你好运 你不能。没有一个进程足够强大,能够深入到进程内部,了解其运行方式并获取字符串。不要为小事操心,文件不是问题。@Hans Passant,不使用记事本就不能直接打印吗?除了使用临时文本文件外,还有哪些打印屏幕内容的可能解决方案?不使用记事本就不能直接打印吗?除了使用临时文本文件外,还有哪些可能的解决方案可以打印屏幕内容?