Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Silverlight和com互操作打印_C#_Silverlight_Printing_Com Interop - Fatal编程技术网

C# 使用Silverlight和com互操作打印

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);

我试图在没有打印对话框的情况下从silverlight打印,为此我使用System.Runtime.InteropServices.Automation

现在我正在创建一个临时txt文件,其中包含要发送到打印机的文本

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,不使用记事本就不能直接打印吗?除了使用临时文本文件外,还有哪些打印屏幕内容的可能解决方案?不使用记事本就不能直接打印吗?除了使用临时文本文件外,还有哪些可能的解决方案可以打印屏幕内容?