Mit nachfolgender kleiner Funktion lässt sich der Standard-Drucker unter Windows systemweit ändern. Die Funktion erwartet hierbei den Namen des neuen Standard-Druckers und gibt im Erfolgsfall den Wert True zurück. Das Setzen des neuen Standard-Druckers erfolgt wie WMI, d.h. die Anwendung benötigt einen Verweis auf die System.Management-Klasse. ''' <summary> ''' Legt den übergebenen Drucker als neuen Standard-Drucker fest ''' </summary> ''' <param name="PrinterName">Name des Druckers</param> ''' <returns>True, wenn erfolgreich. Andrnfalls False</returns> Public Function SetDefaultPrinter(ByVal PrinterName As String) As Boolean Dim oWMI As System.Management.ManagementClass Dim oInstances As System.Management.ManagementObject Dim bFound As Boolean = False oWMI = New System.Management.ManagementClass("\root\cimv2:Win32_Printer") For Each oInstances In oWMI.GetInstances If oInstances("Name").ToString.ToLower = PrinterName.ToLower Then ' Standard-Drucker neu festlegen oInstances.InvokeMethod("SetDefaultPrinter", Nothing) bFound = True Exit For End If Next oWMI.Dispose() Return bFound End Function |