Author:水如烟  
需要引用System.Management空间再Imports System.Management
使用:

     Private   Sub  Button2_Click( ByVal  sender  As  System.Object,  ByVal  e  As  System.EventArgs)  Handles  Button2.Click
         For   Each  printer  As   String   In  PrinterService.GetPrinterNames( " . " )
            Console.WriteLine(printer)
         Next
     End Sub

Private   Sub  Button3_Click( ByVal  sender  As  System.Object,  ByVal  e  As  System.EventArgs)  Handles  Button3.Click
        Console.WriteLine(PrinterService.SetDefaultPrinter( " . " ,  " EPSON LQ-1600KIII " ))
     End Sub

Public   Class  PrinterService

Public   Shared   Function  GetPrinterNames( ByVal  computerName  As   String )  As   String ()
         Dim  mResult( - 1 )  As   String

Dim  gManagementObject  As   New  ManagementObject
        gManagementObject.Scope  =   New  ManagementScope( String .Format( " //{0}/root/cimv2 " , computerName))
         Dim  gSearcher  As   New  ManagementObjectSearcher( String .Format( " SELECT DeviceID FROM {0} " ,  " Win32_Printer " ))
        gSearcher.Scope  =  gManagementObject.Scope
         Try
             For   Each  mManagementObject  As  ManagementObject  In  gSearcher.Get()
                 ReDim   Preserve  mResult(mResult.Length)
                mResult(mResult.Length  -   1 )  =  mManagementObject.Properties.Item( " DeviceID " ).Value
             Next
         Catch  ex  As  Exception
            Console.WriteLine(ex.Message)
         Finally
            gSearcher.Dispose()
            gManagementObject.Dispose()
         End   Try

Return  mResult
     End Function

Public   Shared   Function  SetDefaultPrinter( ByVal  computerName  As   String ,  ByVal  PrinterName  As   String )  As   Boolean
         Dim  mResult  As   Boolean   =   False

Dim  gManagementObject  As   New  ManagementObject
        gManagementObject.Scope  =   New  ManagementScope( String .Format( " //{0}/root/cimv2 " , computerName))
         Dim  gSearcher  As   New  ManagementObjectSearcher( String .Format( " SELECT DeviceID FROM {0} " ,  " Win32_Printer " ))
        gSearcher.Scope  =  gManagementObject.Scope
         Try
             For   Each  mManagementObject  As  ManagementObject  In  gSearcher.Get()
                 If  mManagementObject.Properties.Item( " DeviceID " ).Value.ToString.Equals(PrinterName)  Then
                    mManagementObject.InvokeMethod( " SetDefaultPrinter " ,  Nothing )
                     Exit   For
                 End   If
             Next

mResult  =   True
         Catch  ex  As  Exception
            Console.WriteLine(ex.Message)
         Finally
            gSearcher.Dispose()
            gManagementObject.Dispose()
         End   Try

Return  mResult
     End Function
End Class

HOW TO:设置默认打印机相关推荐

  1. 计算机必须设置默认打印机,电脑系统怎么默认打印机 默认打印机的设置教程...

    打印机是每个办公室的常用设备之一,我们可以通过打印机将电脑中的重要文件打印出来,常见的比如人员表.个人简历.入职资料等等,如果我们想要将电脑系统中的文件打印出来呢?那么我们就需要在系统中设置默认打印机 ...

  2. Windows设置默认打印机

    有时候需要设置默认打印机,可以使真是物理打印机,也可以设置虚拟打印机,比如打印输出PDF或者发送到OneNote中. Windows 7下方法: [开始]-[设备和打印机],在[打印机和传真]中选中相 ...

  3. VC/MFC得到电脑的默认打印机、设置默认打印机、遍历电脑打印机

    http://www.cnblogs.com/zhangdongsheng/archive/2012/08/24/2655090.html 得到电脑的默认打印机.设置默认打印机.遍历电脑打印机GetD ...

  4. 获取和设置默认打印机

    获取打印机列表:public class LocalPrinter { private static PrintDocument fPrintDocument = new PrintDocument( ...

  5. xp系统显示无打印机服务器,怎样解决WinXP系统使用打印机提示无法设置默认打印机...

    有WinXP系统的用户反映,最近在使用打印机打印资料的时候,却出现系统提示没有安装打印机,而且就算在控制面板中添加了打印机驱动,那么也提示无法设置默认打印机,对于这样的问题就给用户带来了很多的麻烦,对 ...

  6. 通过注册表设置默认打印机的方法

    //获取默认打印机 BOOL CPrinterInfo::GetTheDefaultPrinterByReg() {  //通过注册表,获取默认的打印机配置  HKEY defaultKey;  DW ...

  7. 获取所有打印机,设置默认打印机,获取默认打印机

    #include <winspool.h> #pragma comment(lib, "Winspool.lib") /获取默认打印机/ static void Get ...

  8. 怎样设置默认打印机(HttpPrinter 易桥打印中间件)

    怎样设置默认打印机(HttpPrinter 易桥打印中间件) 把 报表绑定打印机 客户端打印时 指定打印机, 控制面板中 可以查看您的 打印机的名称 下面的  "PrinterName&qu ...

  9. winform设置默认打印机

    /// <summary> /// 设置默认打印机 /// </summary> public class Externs { [DllImport("winspoo ...

  10. win7中如何设置默认打印机

    1.单击win7电脑的开始菜单,然后在打开的菜单中选择设备和打印机. 2.之后出现新的窗口,在新窗口中就可以找到目前win7电脑中连接的所有的打印机了. 3.只需要选中自己想要设置的打印机,然后点击鼠 ...

最新文章

  1. 中国水泥工业节能减排行业盈利前景与十四五专项规划报告2022年
  2. “噪声对比估计”杂谈:曲径通幽之妙
  3. 风控策略和模型的区别_智能风控平台核心之风控决策引擎(二)
  4. 制作程序化装饰花纹图案_装饰图案
  5. 外卖红包深度研究报告:千亿市场下的公号私域
  6. 如何在Android Studio中删除模块
  7. Aliyun Linux2安装Docker
  8. burpsuite工具抓取Https数据包
  9. 量子物理与计算机,量子物理学的重要应用,与普通计算机结构完全不同,还需继续探索...
  10. 在VB中如何使IE窗口最大化
  11. Unity中UI的LookAt效果实现
  12. Tecplot操作记录
  13. 《薛兆丰经济学讲义》的118个思考题
  14. JavaScript中pop() 方法
  15. y空间下载_阿里云网盘来啦!大咖手把手教你如何搭建免费quot;5G极速下载”私人网盘...
  16. powerbi使用说明_powerBI步骤
  17. Java、JSP电影订票网站的设计与开发
  18. 【设计大赛】基于RT-Thread和RA6M4实现samba服务的移动网盘
  19. 《深入理解Java虚拟机》之Java内存区域与内存溢出异常
  20. 在HTML中将垂直转换为平行,大物实验思考题答案

热门文章

  1. 4.Anaconda查找包,下载包,更新包,删除包
  2. Gearman vs Beanstalkd
  3. .NET5 安装使用
  4. Java MVC 架构初学者指南
  5. 前端时间格式2020-11-18T22:42:48.000+00:00 转化成正常格式
  6. JavaMail(一)搜索邮件
  7. 支付宝支付功能接入应用—配置密钥的生成
  8. 《程序设计基础》 第四章 循环结构 7-13 找零钱 (20 分)
  9. /var/lib/docker/overlay2 占用很大,docker数据目录迁移
  10. 说说 kooxoo 酷讯吧