我需要获取默认打印机名称.我将使用C#,但我怀疑这更多的是一个框架问题,并不是特定于语言的.

推荐答案

我找到的最简单的方法是创建一个新的PrinterSettings对象.它从所有默认值开始,因此您可以判断其Name属性以获取默认打印机的名称.

PrinterSettings在系统中.绘画名称空间System.Drawing.Printing中的dll.

PrinterSettings settings = new PrinterSettings();
Console.WriteLine(settings.PrinterName);

或者,您也可以使用静电方法获取所有打印机名称的列表,然后设置属性并判断IsDefaultPrinter.我还没有试过这个,但是文档似乎表明它不会起作用.显然,只有当PrinterName未显式设置时,IsDefaultPrinter才为真.

.net相关问答推荐

安装特定主要版本的DotNet SDK最新版本

在`MAUI`应用中使用Android`MediaPlayer`的`prepare`方法只在发布模式下和在物理设备上崩溃

如何在 C# 中将 HTTP 发布请求发送到另一个 API?

如何获取 Sql Server 数据库中所有模式的列表

如何让 DateTimePicker 显示一个空字符串?

如何以编程方式判断类型是 struct 还是类?

LINQ 性能常见问题解答

运算符重载 ==, !=, Equals

为什么 LINQ .Where(predicate).First() 比 .First(predicate) 快?

.NET - 实现捕获所有异常处理程序的最佳方法是什么

是否有 TLS 1.2 的 .NET 实现?

C#:获得完整的桌面大小?

加载程序集、查找类和调用 Run() 方法的正确方法

Iif 在 C# 中等效

如何将 WebResponse.GetResponseStream 返回转换为字符串?

CI服务器的比较?

我应该如何删除 DbSet 中的所有元素?

C# List<> 按 x 然后 y 排序

为什么甚至可以更改私有成员,或使用反射在 C# 中运行私有方法?

对构造函数进行单元测试重要吗?