Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Drucker eindeutig erkennen? (https://www.delphipraxis.net/166152-drucker-eindeutig-erkennen.html)

sh17 1. Feb 2012 07:44

Drucker eindeutig erkennen?
 
Gibt es eine Möglichkeit einen Drucker(-Treiber) eindeutig auf mehreren Arbeitsplätzen zu indentifizieren, anstatt über seinen Namen?

Der Druckername kann ja durchaus auf den Arbeitsplätzen unterschiedlich sein, bzw. bekomme ich ihn manchmal gar nicht umbenannt, sodass alles gleich lauten.

RWarnecke 1. Feb 2012 08:37

AW: Drucker eindeutig erkennen?
 
Lese doch den Treiber aus, der hinter einem Druckernamen ist.

sh17 1. Feb 2012 10:16

AW: Drucker eindeutig erkennen?
 
Worauf schaue ich da? Gibt es irgend eine eindeutige ID über Betriebssystem- und Treiberversionen hinweg?

RWarnecke 1. Feb 2012 10:45

AW: Drucker eindeutig erkennen?
 
Was ist denn überhaupt Dein Ziel ? Um einen Drucker zu identifiziern, würde ich den Treiber des Druckers und den Druckernamen nehmen. Aber es kommt natürlich auch darauf an, was Du nachher mit den Daten machen willst. Eine andere Variante wäre noch, den Anschluss des Druckers auszulesen. Damit hättest Du eine eindeutige Identfikation des Druckers, egal wie er heißt oder welcher Treiber hinterlegt ist.

himitsu 1. Feb 2012 10:45

AW: Drucker eindeutig erkennen?
 
Außer bei Netzwerkdruckern (dort kommt's drauf an, ob der unverändert durchgereicht wird) sollte man irgendwie an den Gerätenamen rankommen können.

Alternativ könntest du auch mit einer Maske, RegEx oder Dergleichen, versuchen nur einen wichtigen/eindeutigen Teil des Druckernamens zu vergleichen.

sh17 1. Feb 2012 10:59

AW: Drucker eindeutig erkennen?
 
Zitat:

Zitat von himitsu (Beitrag 1148662)
Außer bei Netzwerkdruckern (dort kommt's drauf an, ob der unverändert durchgereicht wird) sollte man irgendwie an den Gerätenamen rankommen können.

Alternativ könntest du auch mit einer Maske, RegEx oder Dergleichen, versuchen nur einen wichtigen/eindeutigen Teil des Druckernamens zu vergleichen.

Es geht um Netzwerkdrucker - ok, dann werde ich wohl auf derlei Vergleich zurückgreifen müssen, wollte nur wissen, ob es vielleicht etwas eleganteres gibt.
Ich muss eben von jedem Client automtisch auf den richtigen Drucker zugreifen, und der heisst nicht immer gleich, oder lässt sich nicht gleich benennen.

RWarnecke 1. Feb 2012 11:13

AW: Drucker eindeutig erkennen?
 
Werden die Drucker über eine Druckerverteilung verteilt oder hast Du auf jedem Rechner einen IP-Druck (Anschluss: Standard TCP/IP Port) eingerichtet ? Bei beiden Varianten, kannst Du auf den Anschluss zurückgreifen. Diesen kannst Du über die Windows-API auslesen oder über die Registry unter HKLM/SYSTEM/CurrentControlSet/Control/Print.

MacGuyver 1. Feb 2012 11:15

AW: Drucker eindeutig erkennen?
 
Moin,

schreibe doch einfach den Namen des Druckers in die Registry unter CurrentUser und gut. Zum Drucken einmal auslesen und dann ausgeben. Dann noch einen PrinterSettingsDialog für den Komfort und gib ihm.

Stefan

einbeliebigername 1. Feb 2012 11:16

AW: Drucker eindeutig erkennen?
 
Hallo,

Zitat:

Zitat von sh17 (Beitrag 1148666)
Es geht um Netzwerkdrucker

es müsste eigentlich möglich sein an den UNC-Pfad oder IP-Adresse heranzukommen. Windows zeigt diese ja auch an.

einbeliebigername.

sh17 1. Feb 2012 11:18

AW: Drucker eindeutig erkennen?
 
ok, schau ich mir mal an.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:17 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz