2011-12-08 57 views
2

我想在Silverlight程序中选择打印机,就像自动取款机或POS机一样,无需选择打印机即可自动打印。如何在Silverlight中设置默认打印机?

我浏览互联网发现:http://bytes.com/topic/c-sharp/answers/255914-set-default-printer-machine,它说使用System.Management包,使用ManagementObject和ManagementBaseObject类,但我无法添加/导入类。

如何在Silverlight中使用System.Management进行添加,或者使用Silverlight代码中的其他方式来选择打印机?

问候, 伊玛目

回答

2

你不能在Silverlight这样做本身。 System.Management“软件包”(就像您所说的)与Silverlight运行时不兼容,该运行时为完整的.NET CLR而设计。

如果您正在使用提升的信任OOB那么您可以使用AutomationFactory来实现这一目标: -

var scriptNetwork = AutomationFactory.CreateObject("WScript.Network"); 
scriptNetwork.SetDefaultPrinter("nameOfPrinterToSetAsDefault"); 
+0

谢谢安东尼,那确实现在我尝试使用OOB/DLL进行打印,并它已经在本地运行,但是当我在硬件机器上安装时,我不能REGSVR32 WScriptCom.dll –

+0

ComExampleLib \ bin \ Debug –

+0

因此,我在解决方案中添加新项目项目的名称是ComExampleLib,该项目中有说让WScript和方法SetDefaultPrinter,它已经运行在本地我可以打印无弹出选择打印机,但我需要在硬件中运行,所以我注册.dll文件:ComExampleLib \ bin \ Debug \ ComExam与Regsvr32 ComExampleLib.dll pleLib.dll错误是确保“ComExampleLib.dll”是一个有效的DLL或OCX文件。请帮助我如何注册DLL文件?再次感谢你 –

相关问题