C#获取打印机列表方法介绍
作者:edielei 时间:2022-07-29 02:54:38
方法一
第一步:添加引用
using System.Printing;
第二步:代码
public static List<string> GetPrintList()
{
List<string> lt = new List<string>();
LocalPrintServer printServer = new LocalPrintServer();
PrintQueueCollection printQueuesOnLocalServer = printServer.GetPrintQueues(new[] { EnumeratedPrintQueueTypes.Local });
foreach (PrintQueue printer in printQueuesOnLocalServer)
lt.Add(printer.Name);
return lt;
}
方法二
需要引入
System.Drawing.Printing
System.Management
实现
1.获取打印机列表
2.获取默认打印机
3.设置默认打印机
上代码
public class PrinterExample
{
/// <summary>
/// 设置默认打印机
/// </summary>
/// <param name="Name"></param>
/// <returns></returns>
[DllImport("winspool.drv")]
public static extern bool SetDefaultPrinter(String Name); //调用win api将指定名称的打印机设置为默认打印机
/// <summary>
/// 获取默认打印机
/// </summary>
/// <returns></returns>
public static string GetDefaultPrinter()
{
PrintDocument print = new PrintDocument();
string defaultName = print.PrinterSettings.PrinterName;//默认打印机名
return defaultName;
}
/// <summary>
/// 获取本地所有打印机
/// </summary>
/// <returns></returns>
public static List<String> GetLocalPrinters()
{
List<String> printer_names = new List<String>();
foreach (String item in PrinterSettings.InstalledPrinters)
{
printer_names.Add(item);
}
return printer_names;
}
/// <summary>
/// 获取本地所有打印机 System.Management方式获取
/// </summary>
/// <returns></returns>
public static List<String> GetLocalPrinters2()
{
List<String> printer_names = new List<String>();
ManagementObjectCollection queryCollection;
string _classname = "SELECT * FROM Win32_Printer";
Dictionary<string, ManagementObject> dict = new Dictionary<string, ManagementObject>();
ManagementObjectSearcher query = new ManagementObjectSearcher(_classname);
queryCollection = query.Get();
foreach (ManagementObject mo in queryCollection)
{
string oldName = mo["Name"].ToString();
printer_names.Add(oldName);
}
return printer_names;
}
}
来源:https://www.cnblogs.com/edielei/p/4966366.html
标签:C#,获取,打印机,列表
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java动态脚本Groovy
2023-12-05 03:25:50
![](https://img.aspxhome.com/file/2023/6/132016_0s.png)
Maven 生成打包可执行jar包的方法步骤
2023-01-02 14:53:15
![](https://img.aspxhome.com/file/2023/2/66192_0s.jpg)
Android实现Tab切换界面功能详解
2022-01-17 16:11:57
![](https://img.aspxhome.com/file/2023/7/118977_0s.png)
Unity3D绘制地形的实现方法
2022-12-01 01:06:46
![](https://img.aspxhome.com/file/2023/1/122761_0s.gif)
简单谈谈java中匿名内部类构造函数
2021-09-08 18:54:10
Java NIO实战之多人聊天室
2022-02-28 15:05:00
Android账号注册实现点击获取验证码倒计时效果
2023-05-18 05:46:33
![](https://img.aspxhome.com/file/2023/0/109210_0s.gif)
C#中泛型容器Stack<T>的用法并实现”撤销/重做”功能
2021-06-27 04:12:00
C# this关键字的四种用法
2022-10-06 07:09:22
![](https://img.aspxhome.com/file/2023/5/75595_0s.jpg)
C# 如何规范的写 DEBUG 输出
2023-04-27 03:12:37
Java多线程之synchronized关键字的使用
2023-12-12 21:46:16
Java 实战练习之网上电商项目的实现
2021-07-17 04:23:59
![](https://img.aspxhome.com/file/2023/2/94192_0s.png)
Spring事务失效问题分析及解决方案
2023-07-09 11:08:15
基于Android实现点击某个按钮让菜单选项从按钮周围指定位置弹出
2021-09-13 23:03:40
![](https://img.aspxhome.com/file/2023/3/114283_0s.png)
Spring Cloud 请求重试机制核心代码分析
2023-04-11 04:00:23
C#使用NPOI将excel导入到list的方法
2023-11-17 22:49:09
![](https://img.aspxhome.com/file/2023/6/100116_0s.jpg)
C#实现自定义光标并动态切换
2021-09-25 09:06:28
![](https://img.aspxhome.com/file/2023/5/113855_0s.gif)
SpringBoot零基础入门之基本操作与概念
2023-10-25 00:41:36
![](https://img.aspxhome.com/file/2023/3/128853_0s.png)
Java过滤器Filter详解
2022-06-27 04:08:44
![](https://img.aspxhome.com/file/2023/5/100065_0s.png)
分享两种实现Winform程序的多语言支持的多种解决方案
2023-10-17 21:24:17