Imports System.Data.SqlClient Imports System.Data.SqlDbType Public Class clsprinter Dim m_Defaultprintername As String Property DefaultPrinterName As String Get Return m_Defaultprintername End Get Set(value As String) m_Defaultprintername = value End Set End Property Dim m_duplexmode As String Property DuplexMode As String Get Return m_duplexmode End Get Set(value As String) m_duplexmode = value End Set End Property Dim m_color As String Property Color As String Get Return m_color End Get Set(value As String) m_color = value End Set End Property Sub New() Get_Default_Printer() Get_Duplex_Mode() Get_Colormode() End Sub Public Sub Restore_Defaults() 'Get_Duplex_Mode() Set_Duplex_Mode() 'Set_Colormode() End Sub Public Function Get_Default_Printer() As String Dim oPS As New System.Drawing.Printing.PrinterSettings Try Me.DefaultPrinterName = oPS.PrinterName Return oPS.PrinterName Catch ex As System.Exception Return "" Finally oPS = Nothing End Try End Function Public Function Get_Colormode() Dim printdoc As New System.Drawing.Printing.PrintDocument printdoc.PrinterSettings.PrinterName = Me.DefaultPrinterName Me.Color = printdoc.DefaultPageSettings.Color End Function Public Function Set_Colormode() Dim printdoc As New System.Drawing.Printing.PrintDocument printdoc.PrinterSettings.PrinterName = Me.DefaultPrinterName printdoc.DefaultPageSettings.Color = Me.Color End Function Public Function Get_Duplex_Mode() As String Dim oPS As New System.Drawing.Printing.PrinterSettings oPS.PrinterName = Me.DefaultPrinterName Try Globals.Duplexmode = oPS.Duplex Me.DuplexMode = oPS.Duplex Return oPS.Duplex Catch ex As Exception Return Nothing Finally oPS = Nothing End Try End Function Public Function Set_Duplex_Mode() Dim Printdoc As New Printing.PrintDocument Dim SetPage As New System.Drawing.Printing.PageSettings With SetPage .PrinterSettings.Duplex = Me.DuplexMode End With Printdoc.DefaultPageSettings = SetPage End Function Public Function Reset_Douplex_Settings() If Globals.Reset_Printer_Duplex_Settings = 0 Then Globals.Reset_Printer_Duplex_Settings = Get_Reset_Duplex_Settings() If Globals.Reset_Printer_Duplex_Settings = 1 Then Set_Duplex_Mode() End Function Public Function Get_Reset_Duplex_Settings() As Integer Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim i As Integer Dim connopen As Boolean = False scmCmdToExecute.CommandText = "dbo.[sp_get_reset_duplex_settings]" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@Resultat", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0)) Try scmCmdToExecute.Connection.Open() Catch ex As Exception End Try scmCmdToExecute.ExecuteNonQuery() Return scmCmdToExecute.Parameters("@Resultat").Value Catch ex As Exception MsgBox(ex.Message) Finally scmCmdToExecute.Connection.Close() scmCmdToExecute.Dispose() End Try End Function End Class