Standarddrucker mit .Net ermitteln

  • Thread starter Thread starter mreisi
  • Start date Start date
M

mreisi

Hallo Leute,

ich versuche seit langem eine Lösung für das Auslesen des
Standarddruckers zu finden. WMI, API,
System.Drawing.Printing.PrinterSettings habe ich alles schon versucht,
leider nicht zurfrieden stellend. Hat jemand eine saubere Lösung ffür
VB.Net oder C#???
Mit der Win-API habe ich z.B. versucht GetDefaultPrinter aufzurufen,
jedoch erscheint dann immer die Meldung "Es wurde versucht, im
geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein
Hinweis darauf, dass anderer Speicher beschädigt ist." Was soll das?
Eine Lösung für dieses Problem habe ich noch nicht gefunden.
Code:
Das kann frusten :-((

Declare Function GetDefaultPrinter Lib "winspool.drv" Alias
"GetDefaultPrinterA" (ByRef pszBuffer As String, ByRef dwLen As
Integer) As Integer

Na ja wäre jedenfalls nett, wenn jemand einen Tip hätte.

Vielen Dank
 
From what I gather, if you create a PrintSettings object it will
contain the settings for the default printer. Use the PrinterName
property to get the name of the default printer.
 
Göran Andersson said:
From what I gather, if you create a PrintSettings object it will contain
the settings for the default printer. Use the PrinterName property to get
the name of the default printer.

In addition, check out 'PrinterSettings.IsDefaultPrinter'.
 
Ja das habe ich auch schon ausprobiert, jedoch funktioniert das leider
nicht, wenn man den Standarddrucker kurz zuvor gewechselt hat. Trotzdem
Danke für den Tipp. Die MSDN sagt dazu folgendes:
"Ruft einen Wert ab, der angibt, ob die PrinterName-Eigenschaft immer
dann den Standarddrucker festlegt, wenn der Benutzer PrinterName nicht
explizit festlegt."
Das ist leider nicht wirklich die Lösung.
 
Ja das habe ich auch schon ausprobiert, jedoch funktioniert das leider
nicht, wenn man den Standarddrucker kurz zuvor gewechselt hat. Trotzdem
Danke für den Tipp. Die MSDN sagt dazu folgendes:
"Ruft einen Wert ab, der angibt, ob die PrinterName-Eigenschaft immer
dann den Standarddrucker festlegt, wenn der Benutzer PrinterName nicht
explizit festlegt."
Das ist leider nicht wirklich die Lösung.
 
Back
Top