C#獲取打印機(jī)列表方法介紹
更新時(shí)間:2022年07月05日 11:39:54 作者:edielei
這篇文章介紹了C#獲取打印機(jī)列表的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
方法一
第一步:添加引用
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
實(shí)現(xiàn)
1.獲取打印機(jī)列表
2.獲取默認(rèn)打印機(jī)
3.設(shè)置默認(rèn)打印機(jī)
上代碼
public class PrinterExample { /// <summary> /// 設(shè)置默認(rèn)打印機(jī) /// </summary> /// <param name="Name"></param> /// <returns></returns> [DllImport("winspool.drv")] public static extern bool SetDefaultPrinter(String Name); //調(diào)用win api將指定名稱(chēng)的打印機(jī)設(shè)置為默認(rèn)打印機(jī) /// <summary> /// 獲取默認(rèn)打印機(jī) /// </summary> /// <returns></returns> public static string GetDefaultPrinter() { PrintDocument print = new PrintDocument(); string defaultName = print.PrinterSettings.PrinterName;//默認(rèn)打印機(jī)名 return defaultName; } /// <summary> /// 獲取本地所有打印機(jī) /// </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> /// 獲取本地所有打印機(jī) 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; } }
到此這篇關(guān)于C#獲取打印機(jī)列表的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
WPF調(diào)用ffmpeg實(shí)現(xiàn)屏幕錄制
這篇文章主要為大家詳細(xì)介紹了WPF如何調(diào)用ffmpeg實(shí)現(xiàn)屏幕錄制,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下2023-05-05WinForm使用DataGridView實(shí)現(xiàn)類(lèi)似Excel表格的查找替換功能
這篇文章主要介紹了WinForm使用DataGridView實(shí)現(xiàn)類(lèi)似Excel表格的查找替換功能,現(xiàn)在小編通過(guò)本文給大家分享查找替換實(shí)現(xiàn)過(guò)程,需要的朋友可以參考下2021-07-07C#中l(wèi)abel內(nèi)容顯示不全、不完整的解決方法
這篇文章主要介紹了C#中l(wèi)abel內(nèi)容顯示不全、不完整的解決方法,只需要把兩個(gè)屬性設(shè)置一下即可解決這個(gè)問(wèn)題,需要的朋友可以參考下2015-06-06