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;  
                      }
  • 相关阅读:
    ADFS登录界面自定义
    C# 不添加WEB引用调用WSDL接口
    C# 对象转XML 支持匿名类
    NSdata 与 NSString,Byte数组,UIImage 的相互转换
    《.NETer提高效率——环境部署》
    (五) Docker 安装 Nginx
    (六) Docker 部署 Redis 高可用集群 (sentinel 哨兵模式)
    (七) Docker 部署 MySql8.0 一主一从 高可用集群
    (八) Docker 部署 mongodb
    (四) Docker 使用Let's Encrypt 部署 HTTPS
  • 原文地址:https://www.cnblogs.com/tonybinlj/p/1391248.html
Copyright © 2011-2022 走看看