vb.net 设置默认打印机

前端之家收集整理的这篇文章主要介绍了vb.net 设置默认打印机前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Public g_PrintSet As New System.Drawing.Printing.PrinterSettings
Public g_PageSet As New System.Drawing.Printing.PageSettings

'printer是打印机的名字或者打印机的网络地址,都可以。因为System.Drawing.Printing.PrinterSettings.InstalledPrinters中保存了所有在机器上安装的打印机
For iIndex = 0 To System.Drawing.Printing.PrinterSettings.InstalledPrinters.Count - 1
if System.Drawing.Printing.PrinterSettings.InstalledPrinters.Item(iIndex).Contains(printer) Then
MessageBox.Show(System.Drawing.Printing.PrinterSettings.InstalledPrinters.Item(iIndex))
g_PrintSet.PrinterName = System.Drawing.Printing.PrinterSettings.InstalledPrinters.Item(iIndex)
End If
Next iIndex
g_Print.PrinterSettings = g_PrintSet

设置defaultprinter

Imports System.Management

'SUB 中

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


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

如果你是用的Crystal report,
Rpt.PrintOptions.PrinterName = PrinterName
Rpt.PrintToPrinter(1,False,0)

获取计算机名

SystemInformation.ComputerName

原文链接:https://www.f2er.com/vb/262427.html

猜你在找的VB相关文章