您的位置:首页 > 编程语言 > C#

C#遍历系统所安装的打印机,使用WMI方式获取打印机的所有属性

2011-05-10 13:35 639 查看
C#里面,虽然在 System.Drawing.Printing 这个namespace下,提供了一些对系统打印机的访问功能,但是,说实话是太弱了,对获取打印机的相关属性基本是无能为力的。

C#里面获取打印机的详细信息,常用的用2种方式:

1.使用 Windows API
2.使用 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);
//显示的是 属性名 : 属性值 的形式
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: