在 C# 中将本地打印机设置为默认值的最佳方法
本文关键字:默认值 最佳 方法 设置 打印机 | 更新日期: 2023-09-27 18:35:25
我想在 C# 中将本地打印机设置为默认值
我在谷歌搜索上找到了两种方式:
- 使用 IWshRuntime Library 和 IWshNetwork_Class
- [DllImport("Winspool.drv")]私有静态外部布尔值 SetDefaultPrinter(字符串打印机名称);
我在 VB 中找到了 #1 http://social.msdn.microsoft.com/Forums/vstudio/en-US/1ed0f29a-a5ff-4328-9c0f-f431f75fccbc/set-defualt-printer?forum=vbgeneral
它的 C# 代码:
new IWshRuntimeLibrary.IWshNetwork_Class().SetDefaultPrinter(printerName)
因此,#1 是 COM 互操作调用。 #2 是一个简单的 dll 调用。
我都试过了,都工作正常。那么,我应该使用哪个?我是否需要为 #1 安装单独的库(在客户端计算机上)?
我会选择直接DLL调用。 我敢打赌,IWshRuntimeLibrary
调用Winspool.drv
内部,您将COM层从图片中剔除。 Windows计算机似乎不太可能正确注册Windows脚本主机,但似乎更不可能Winspool.drv
不可用。
我认为.NET以托管解决方案的形式提供了您正在寻找的东西。尝试查看 LocalPrintServer 类,特别是 DefaultPrintQueue 属性。这是一些示例代码