微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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)

获取计算机名

System@R_484_404[email protected]mputerName

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐