C#使用WMI設置和獲取默認打印機

  • 設置默認打印機
using System;
using System.Collections.Generic;
using System.Collections;
using System.Collections.Specialized;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Management;
protected int SetDefaultPrinter(string PrinterName)  
{  
        int reint = 0;    
        ManagementObjectSearcher query;  
        ManagementObjectCollection queryCollection;  
        string _classname = "SELECT * FROM Win32_Printer";  
        query = new ManagementObjectSearcher(_classname);  
        queryCollection = query.Get();  
        foreach (ManagementObject printer in queryCollection)  
        {  
            if (string.Compare(printer["Name"].ToString(), PrinterName, true) == 0)  
            {  
                mo.InvokeMethod("SetDefaultPrinter", null);  
                reint = 1;  
                break;  
            }  
        }
  • 獲取默認打印機
public static String GetDefaultPrinters()
 {
            string searchQuery = "SELECT * FROM Win32_Printer",DefaultPrinterName;
       ManagementObjectSearcher searchPrinters = 
            new ManagementObjectSearcher(searchQuery);  //exec WQL
       ManagementObjectCollection printerCollection = 
            searchPrinters.Get();  // get a set of object of managementobject
       foreach (ManagementObject printer in printerCollection)
            {
            if ((bool)printer.GetPropertyValue("default") == true)  
                //judge if the current print is the default printer 
                {                   
                    DefaultPrinterName = printer.Properties["Name"].Value.ToString();                                       
                }                         
            }
                return DefaultPrinterName;            
        }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容