Autor Thema: Liste aller installierten Drucker erhalten  (Gelesen 935 mal)

Offline FrankLU

  • Aktives Mitglied
  • ***
  • Beiträge: 116
  • Geschlecht: Männlich
Liste aller installierten Drucker erhalten
« am: 25.02.22 - 13:43:07 »
Hallo!

Nachdem ich mit einer Function GetProfileString unter Verwendung der Kernel32.dll den Standarddrucker ermitteln kann, bräuchte ich nun einen Aufruf, um eine Liste aller installierten Drucker auf einem PC zu erhalten.

In den bisherigen Beiträgen habe ich nichts gefunden, ohne auf eine Funktion eines Zweitprogramms zuzugreifen (NotesToPaper oder MS Word).

Gibt es eine Funktion in einer Windows DLL, die mir eine Liste der Drucker liefern könnte?
Kann man auch PowerShell-Befehle absetzen, die einen Ausgebwert direkt in eine Variable in einem LS zurückliefern? Mit einem Shell-Aufruf einen PowerShell-Befehl abzusetzen, der eine Druckerliste in einer Textdatei speichert, die man dann per LS wieder einliest, ist mir zu unelegant.

Vielen Dank schon mal für die Unterstützung und ein schönes Wochenende!
Frank
« Letzte Änderung: 02.03.22 - 12:29:54 von FrankLU »
Frank Lohöfer
MD Medicus Holding GmbH
Client (User): 12.0.1
Client (Admin): 12.0.1
Server: 9.0 auf Linux

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.277
  • Geschlecht: Männlich
Antw:Liste aller installierten Drucker erhalten
« Antwort #1 am: 25.02.22 - 17:59:43 »
Dafür benötigst Du diese Beschreibung:
https://docs.microsoft.com/en-us/windows/win32/wmisdk/wmi-tasks--printers-and-printing

Bzw. sieht das in Notes dann so aus:
Code
Dim objWMIService, colInstalledPrinters, strComputer$ 

strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters =  objWMIService.ExecQuery ("Select * from Win32_Printer")

ForAll objPrinter In colInstalledPrinters
	Print objPrinter.name
End ForAll
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline FrankLU

  • Aktives Mitglied
  • ***
  • Beiträge: 116
  • Geschlecht: Männlich
Antw:Liste aller installierten Drucker erhalten
« Antwort #2 am: 02.03.22 - 12:29:40 »
Hallo Erik,

ich habe diese Art des Zugriffs auch gleich für die Feststellung des Standard-Druckers übernommen, wie sie in dem von Dir mitgeschickten Link enthalten ist. Das vereinheitlicht die Sache.

Vielen Dank für die Lösung!

Frank
Frank Lohöfer
MD Medicus Holding GmbH
Client (User): 12.0.1
Client (Admin): 12.0.1
Server: 9.0 auf Linux

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz