1、获取本地打印机信息
引用命名空间:
using System.Drawing.Printing;
获取本地打印机信息:
//PrinterSettings.InstalledPrinters 获取安装在计算机上所有打印机的名称
DataTable dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("DefaultPrinter");
dt.Columns.Add("Valid");
for (int i = 0; i < PrinterSettings.InstalledPrinters.Count; i++)
{
DataRow dr = dt.NewRow();
string item = PrinterSettings.InstalledPrinters[i];
PrinterSettings setting = new PrinterSettings() { PrinterName = item }; //打印机对象
dr["Name"] = setting.PrinterName; //打印机名称
dr["DefaultPrinter"] = setting.IsDefaultPrinter; //是否为默认打印机
dr["Valid"] = setting.IsValid; //是否可用
dt.Rows.Add(dr);
}
gvData.DataSource = dt;
gvData.DataBind();
2、设置本地默认打印机
引用命名空间:
using System.Runtime.InteropServices;
设置默认打印机代码实现:
public class Externs
{
[DllImport("winspool.drv")] //调用外部文件
public static extern bool SetDefaultPrinter(String Name); //调用win api将指定名称的打印机设置为默认打印机
}
调用设置方法:
Externs.SetDefaultPrinter(string PrinterName);