2016-06-01 14 views
0

Also alles, was ich mache, ist das Öffnen des Druckerhandles und Aufruf der Funktion Drucker löschen, wie Sie sehen können. Hier ist, was ich in der Konsole, wenn ich die Funktion ausführen.Zugriff verweigert, wenn versucht wird, den Drucker zu entfernen

uninstall_windowGUI.py", line 57, in on_printer_button_clicked 
win32print.DeletePrinter(pHandle) 
pywintypes.error: (5, 'DeletePrinter', 'Access is denied.') 

Ich habe versucht die IDE (PyCharm im Administrator-Modus ausgeführt wird, und nach wie vor das gleiche Problem bekommen Jede Idee, wie man sich bewegt auf I‘? m Art stecken, bis ich kann dies herauszufinden. (auch: ich bin mit Gtk und Gdk die Schnittstelle zu schaffen, wenn das mit einer differece macht.)

Antwort

1

die Dokumentation besagt, dass Drucker Handle muss für PRINTER_ACCESS_ADMINISTER geöffnet werden So etwas könnte funktionieren:

PRINTER_DEFAULTS = {"DesiredAccess":win32print.PRINTER_ACCESS_ADMINISTER} 
win32print.OpenPrinter(self.printers[i]['pPrinterName'], PRINTER_DEFAULTS) 
+0

Danke, das hat eine Tonne geholfen. Ich musste eigentlich PRINTER_ACCESS_ADMINISTER zu PRINTER_ALL_ACCESS ersetzen, weil ich aus irgendeinem Grund immer noch den "Zugriff verweigert" bekam. – TheEggSample

Verwandte Themen