win32print.OpenPrinter mit PRINTER_DEFAULTS
Verfasst: Mittwoch 10. Februar 2010, 14:54
Ich möchte mittels Python und win32print den Druckeranschluss eines Druckers umstellen. Dazu muss ich als erstes den Drucker "öffnen", also ein Handle erzeugen:
Das Problem dabei ist, dass der Drucker nur zum Lesen geöffnet wird, mir fehlen die Rechte etwas darin umzustellen. Ein Beispiel:
Ich erhalte als Fehler:
Ich habe gelesen, dass bei OpenPrinter bereits darauf geachtet werden muss, dass man die richtigen Zugriffsrechte erlangt. Dies geschiet durch die Angabe von PRINTER_DEFAULTS (Standard: None). Der dritte Wert in PRINTER_DEFAULTS ist DesiredAccess, den ich anscheinend auf PRINTER_ACCESS_ADMINISTER umstellen muss.
Ich weiß nur nicht wie? Für VB-Script & Co. findet man einige Beispiele, aber ich kann es mir nicht zusammen reimen.
Kann mir das jemand nach Python übersetzen?
Code: Alles auswählen
h = win32print.OpenPrinter("Druckername")
Code: Alles auswählen
printerName = win32print.GetDefaultPrinter()
h = win32print.OpenPrinter(printerName)
settings = win32print.GetPrinter(h, 2) # 2 ist das Data Level
settings["pPortName"] = "NUL"
win32print.SetPrinter(h, 2, settings, 0)
Code: Alles auswählen
error: (5, 'SetPrinter', 'Zugriff verweigert')
Ich weiß nur nicht wie? Für VB-Script & Co. findet man einige Beispiele, aber ich kann es mir nicht zusammen reimen.
Kann mir das jemand nach Python übersetzen?