我想在C#
中将本地打印机设置为默认值我在Google搜索上找到了两种方法:
其C#代码:
new IWshRuntimeLibrary.IWshNetwork_Class().SetDefaultPrinter(printerName)
因此,#1是COM互操作。 #2是一个简单的dll调用。
我已经尝试了两者,两者都很好。那么,我应该使用哪个?我是否需要为#1安装一个单独的库(在客户机上)?
答案 0 :(得分:2)
我会选择直接的DLL调用。我敢打赌IWshRuntimeLibrary
在内部调用Winspool.drv
,然后从图片中取出COM层。 Windows机器似乎不太可能没有正确注册Windows Scripting Host,但Winspool.drv
似乎不太可能。{/ p>
答案 1 :(得分:1)
我认为.NET以托管解决方案的形式提供了您正在寻找的东西。尝试查看LocalPrintServer class,特别是DefaultPrintQueue property。这里有一些example code