Ich weiß nicht, wie ich den "normalen Druckernamen" (Standarddrucker) in PYTHON erhalten soll.
Das folgende Programm ist ein Programm zum Ändern des "normalen Druckers" in "anderer Drucker". → Ich möchte den aktuellen "normalerweise verwendeten Druckernamen" erhalten!
Vielen Dank für Ihren Professor, wie Sie den "normalerweise verwendeten Druckernamen" erhalten.
Das folgende Programm ist ein Programm, das den "normalerweise verwendeten Drucker" in einen "Microsoft Print to PDF" -Drucker ändert. (Ich drücke die Eingabeaufforderung von Python)
Druckerwechselprogramm.py
import subprocess
cmd = 'rundll32.exe printui.dll,PrintUIEntry /y /n "Microsoft Print to PDF"'
returncode = subprocess.call(cmd)
In VBS gibt es im Internet einen Code für "Abrufen des Namens des normalerweise verwendeten Druckers" (URL: https://ekafp7.blogspot.com/2016/12/blog-post.html). Ebenso habe ich es mit PYTHON arrangiert, wie unten gezeigt, aber in der 4. Zeile erscheint ein Fehler. objClassSet = objService.ExecQuery("Select * From Win32_Printer") Ich bin nicht sicher, ob das Argument schlecht ist, aber ich erhalte eine Fehlermeldung.
Normalerweise verwendetes Druckererfassungsprogramm.py
import win32com.client
objLocator = win32com.client.Dispatch("WbemScripting.SWbemLocator")
objService = objLocator.ConnectServer
objClassSet = objService.ExecQuery("Select * From Win32_Printer")
for objClass in objClassSet:
if objClass.Default:
strName = objClass.Caption
print(strName)
Die Liste der Drucker wurde auch im folgenden Programm angezeigt, aber der "normalerweise verwendete Druckername" wird nicht angezeigt. ..
Druckerlistenprogramm.py
import win32com.client
o = win32com.client.Dispatch("WScript.Network")
prlist = o.EnumPrinterConnections()
for pr in prlist:
print(pr)
Recommended Posts