HOW TO:设置默认打印机
2006-12-21 12:32
330 查看
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
需要引用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:设置默认打印机
- 设置非默认打印机纸张的问题
- 如何用vb设置默认打印机?
- Word2003怎么设置默认打印机
- 设置EXCEL的默认打印机
- Delphi 设置系统默认打印机
- 设置默认打印机
- web开发,如何自动选定打印机进行打印(设置默认打印机打印)
- 不能设置默认打印机的解决办法
- VB6 获取和设置默认打印机
- 获取和设置默认打印机
- Winform 判断打印机是否可用,实现设置默认打印机功能
- Win8系统中设置默认打印机的快速方法详解
- 设置默认打印机驱动页长
- C#:调用API函数,弹出对话框更改打印机默认设置
- 在jsp中设置客户端默认打印机
- 打印技术之获取及设置系统默认打印机
- 获取所有打印机,设置默认打印机,获取默认打印机
- C#:调用API函数,弹出对话框更改打印机默认设置(神贴啊)
- c#中设置默认打印机