惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Register - Security
The Register - Security
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LangChain Blog
N
Netflix TechBlog - Medium
量子位
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
H
Help Net Security
D
Docker
D
DataBreaches.Net
T
Tailwind CSS Blog
阮一峰的网络日志
阮一峰的网络日志
B
Blog
博客园 - 聂微东
Apple Machine Learning Research
Apple Machine Learning Research
Google DeepMind News
Google DeepMind News
The Cloudflare Blog
F
Full Disclosure
GbyAI
GbyAI
F
Fortinet All Blogs
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
人人都是产品经理
人人都是产品经理
Recent Announcements
Recent Announcements
博客园 - Franky
MongoDB | Blog
MongoDB | Blog
有赞技术团队
有赞技术团队
博客园 - 叶小钗
小众软件
小众软件
V
Visual Studio Blog
月光博客
月光博客
Stack Overflow Blog
Stack Overflow Blog
The GitHub Blog
The GitHub Blog
Recorded Future
Recorded Future
J
Java Code Geeks
雷峰网
雷峰网
P
Privacy & Cybersecurity Law Blog
C
Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
AWS News Blog
AWS News Blog
Webroot Blog
Webroot Blog
美团技术团队
N
News | PayPal Newsroom
G
Google Developers Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
博客园_首页
V
Vulnerabilities – Threatpost

博客园 - 水如烟(LzmTW)

.NET的变量在代码集中是不安全的 HOW TO:获取硬盘物理序列号(VB.NET) 一个创建快捷方式类 一个简单的CodeAccessPermission生成器 认识一下Attribute HOW TO:端口打印(比较粗糙) 标记法定义和创建数据库(四) 标记法定义和创建数据库 Sql2005数据类型与Framework类型的对应关系 HOW TO:重启程序(WinForm) HOW TO:避免“将COM对象与其基础RCW分开后不能再使用该对象”错误 HOW TO:控制是否允许用户退出ExcelApplication的Workbook 树和自联表(五) 树和自联表(六) 树和自联表(四) 树和自联表(一) 行政区划数据数据库的设计(脚本) 行政区划数据数据库的设计(七) 行政区划数据数据库的设计(六)
HOW TO:设置默认打印机
水如烟(LzmTW) · 2006-12-21 · via 博客园 - 水如烟(LzmTW)

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 SubPrivate 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 PrinterServicePublic Shared Function GetPrinterNames(ByVal computerName As StringAs String()
        
Dim mResult(-1As StringDim 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 TryReturn mResult
    
End FunctionPublic Shared Function SetDefaultPrinter(ByVal computerName As StringByVal PrinterName As StringAs Boolean
        
Dim mResult As Boolean = FalseDim 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 TryReturn mResult
    
End Function
End Class