C#遍历系统所安装的打印机,使用WMI方式获取打印机的所有属性
2023-09-14 08:57:24 时间
有网友发消息来询问,C#如何遍历系统已经安装的所有打印机,并获得每个打印机的相关信息,如:端口,名称等等
C#里面,虽然在 System.Drawing.Printing 这个namespace下,提供了一些对系统打印机的访问功能,但是,说实话是太弱了,对获取打印机的相关属性基本是无能为力的。
C#里面获取打印机的详细信息,常用的用2种方式:
- 使用 Windows API
- 使用 WMI
我这里使用的是WMI的方式,因为此方式,是采用了类SQL的方法,将windows的WMI管理信息,作为一种数据库的形态来提供的,使用起来比较顺手
.NET 里面对WMI的使用,是放在 System.Management 这个空间下的,要使用的话,需要先添加对 System.Management.dll 引用
具体代码如下:
string wmiSQL = "SELECT * FROM Win32_Printer"; ManagementObjectCollection printers = new ManagementObjectSearcher(wmiSQL).Get(); foreach (ManagementObject printer in printers) { PropertyDataCollection.PropertyDataEnumerator pde = printer.Properties.GetEnumerator(); while (pde.MoveNext()) { MessageBox.Show(pde.Current.Name + " : " + pde.Current.Value); //显示的是 属性名 : 属性值 的形式 } }
应该是一目了然了吧,嘿嘿
相关文章
- c# 递归算法
- C# winform DataGridView 常见属性
- C#使用#ziplib压缩和解压缩文件
- c# mysql executenonquery_C#与数据库访问技术总结(八)之ExecuteNonQuery方法
- c# mysql executenonquery_C#与数据库访问技术之ExecuteNonQuery方法
- C# 通过VMI接口获取硬件ID
- 从C中用MSSQL创建触发器(mssql触发器c#)
- C#权限管理和设计浅谈
- c#方法可变数量的参数
- C#数组初始化简析
- .netc#gif动画如何添加图片水印实现思路及代码
- C#反射(Reflection)对类的属性get或set值实现思路
- 解析c#操作excel后关闭excel.exe的方法
- c#后台修改前台DOM的css属性示例代码
- c#方法中调用参数的值传递方式和引用传递方式以及ref与out的区别深入解析
- C#鼠标穿透窗体功能的实现方法
- c#indepth的泛型实现实例代码
- C#通过XML节点属性/属性值读取写入XML操作代码实例
- c#的时间日期操作示例分享(c#获取当前日期)
- C#实现的图片盖章功能,支持拖拽、旋转、放缩、保存
- C#中Params的用法
- C#简单的通用基础字典实现方法
- C#实现ProperTyGrid自定义属性的方法