zoukankan      html  css  js  c++  java
  • 获得本机的可用的所有打印机

    1.获得本机的可用的所有打印机的列表

    using   System.Collections.Specialized;  
      
    using   System.Management;  
      使用此方法:  
                      
    public   static   StringCollection   GetPrintersCollection()  
                      {  
                              StringCollection   printerNameCollection   
    =   new   StringCollection();  
                              
    string   searchQuery   =   "SELECT   *   FROM   Win32_Printer";  
                              ManagementObjectSearcher   searchPrinters   
    =  
                                          
    new   ManagementObjectSearcher(searchQuery);  
                              ManagementObjectCollection   printerCollection   
    =   searchPrinters.Get();  
                              
    foreach   (ManagementObject   printer   in   printerCollection)  
                              {  
                                      printerNameCollection.Add(printer.Properties[
    "Name"].Value.ToString());  
                              }  
                              
    return   printerNameCollection;  
                      }  
      获取:  
                              StringCollection   sc   
    =   GetPrintersCollection();  
                              
    for   (int   i   =   0;   i   <   sc.Count;   i++)  
                              {  
                                      
    //得到可用打印机名列表  
                                      MessageBox.Show(sc[i].ToString());  
                              }

     2.设为默认打印机.  

    public   static   bool   SetDefaultPrinter(string   printerName)  
                      {  
                              
    bool   setDefaulted   =   false;  
                              ManagementObjectSearcher   query;  
                              ManagementObjectCollection   querycollection;  
                              
    string   _classname   =   "select   *   from   win32_printer";  
       
                              query   
    =   new   ManagementObjectSearcher(_classname);  
                              querycollection   
    =   query.Get();  
       
                              
    foreach   (ManagementObject   mo   in   querycollection)  
                              {  
                                      
    if   (string.Compare(mo["name"].ToString(),   printerName,   true)   ==   0)  
                                      {  
                                              mo.InvokeMethod(
    "setdefaultprinter",   null);  
                                              setDefaulted   
    =   true;  
                                              
    break;  
                                      }  
                              }  
                              
    return   setDefaulted;  
                      }
  • 相关阅读:
    TypeError: Object(…) is not a function
    解决 OSError: [WinError 126] 找不到指定的模块
    LeetCode——和等于 k 的最长子数组长度
    LeetCode——判断子序列
    LeetCode——递增的三元子序列
    LeetCode——字符串相乘
    LeetCode——课程安排 IV
    LeetCode——最小移动次数使数组元素相等
    同源时钟、同相位时钟、同时钟域
    C++ 创建动态二维数组 使用vect<vec> 并初始化为0
  • 原文地址:https://www.cnblogs.com/tonybinlj/p/1391248.html
Copyright © 2011-2022 走看看