Standarddrucker mit .Net ermitteln

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
 
?

=?ISO-8859-1?Q?G=F6ran_Andersson?=

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.
 
H

Herfried K. Wagner [MVP]

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'.
 
M

mreisi

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.
 
M

mreisi

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top