![]() |
Druckerwareschlange überwachen / SprinterSpy von Peter Below
Hallo,
ich stehe vor dem problem, die Druckerwarteschlange zu überwachen. Peter Below hat da ja was vor 13 Jahren entwickelt: ![]() Ich habe mir das mal angesehen (unter Delphi 2007) und grundsätzlich funktioniert das ja, bis auf: 1. Als Dokumentname wird mir immer "Lokale Druckerdatendatei" ausgegeben und nicht z. B. "Microsoft Word - Dokument1" wie es im Spooler steht 2. Wenn der Code mit Range Checks compiliert wird, gibt es Range Check-Fehler. Das liegt wohl an dem komischen Konstrukt:
Code:
und der Schleife
_PRINTER_NOTIFY_INFO = record
Version: DWORD; Flags: DWORD; Count: DWORD; aData: array[0..0] of TPrinterNotifyInfoData; end;
Code:
Das TPrinterNotifyInfoData wiederholt sich Count-1-mal ist aber nur mit [0..0] deklariert. Range Check abschalten und dann Count-mal das auslesen wäre also in Ordnung, ist aber nicht Delphi-like. Wie könnte das anders gemacht werden?
For i:=0 To pni^.Count-1 Do
Case pni^.aData[i].Field Of 3. Seitennummer, usw. werden auch nicht korekt ausgelesen. Hat mit der Komponente jemand Erfahrung und diese vielleicht erweitert / korrigiert? Grüße Stefan |
AW: Druckerwareschlange überwachen / SprinterSpy von Peter Below
Zu 2.: Also wegen der Bereichsüberprüfung mach dir mal keine Sorgen. Die kannst du bekanntlich lokal ausschalten. Das "komische Konstrukt" ist übrigens völlig normal und wird in verschiedenen Teilen der Win32-API so verwendet.
Ich kann mir leider dieses alte Projekt nicht einmal herunterladen, da Embarcadero dafür ein Konto verlangt. Das habe ich meiner Erinnerung schon lange nicht mehr. Zu 1.: Die Beschreibung erwähnt aber ![]() Siehe ![]() Zu 3.: siehe meine Frage zu 1. Welchen Typs ist der Eintrag welcher ausgelesen wird um die Seitennummer zu ermitteln? |
AW: Druckerwareschlange überwachen / SprinterSpy von Peter Below
Danke für die Antwort. Inzwischen hat das aber keine Relevanz mehr weil wir festgestellt haben, daß sich nur lokale Drucker mit dem Tool überwachen lassen und keine Netzwerkdrucker. Damit ist es für uns unbrauchbar.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz