27-05-14, 01:57 AM
تفضل أخي 
المرجع: Setting Windows default printer

كود :
'كود جلب أسماء كل الطابعات المثبتة على الجهاز
Public Sub LoadAllPrinters()
For Each Name As String In Printing.PrinterSettings.InstalledPrinters
ComboBox1.Items.Add(Name)
Next
Dim PrintDoc As New Printing.PrintDocument()
ComboBox1.Text = PrintDoc.PrinterSettings.PrinterName
End Sub
'كود تعيين الطابعة الافتراضية
Public Function SetDefaultPrinter(ByVal Name As String) As Boolean
Dim PrintDoc As New Printing.PrintDocument()
Dim WshNetwork As Object = Nothing
Dim OldPrinterName As String = String.Empty
Try
OldPrinterName = PrintDoc.PrinterSettings.PrinterName
WshNetwork = Microsoft.VisualBasic.CreateObject("WScript.Network")
WshNetwork.SetDefaultPrinter(Name)
PrintDoc.PrinterSettings.PrinterName = Name
If PrintDoc.PrinterSettings.IsValid Then
Return True
Else
WshNetwork.SetDefaultPrinter(OldPrinterName)
Return False
End If
Catch ex As Exception
If WshNetwork IsNot Nothing Then
WshNetwork.SetDefaultPrinter(OldPrinterName)
End If
Finally
PrintDoc = Nothing
WshNetwork = Nothing
End Try
Return False
End Function
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
LoadAllPrinters()
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
If SetDefaultPrinter(ComboBox1.Text) Then
MessageBox.Show(String.Format("الطابعة ""{0}"" أصبحت هي الطابعة الافتراضية", ComboBox1.Text),
"الطابعة", MessageBoxButtons.OK, MessageBoxIcon.Information,
MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading)
End If
End Subالمرجع: Setting Windows default printer
