Einzelnen Beitrag anzeigen

WiPhi

Registriert seit: 19. Feb 2015
90 Beiträge
 
Delphi 11 Alexandria
 
#1

Duplexdruck bei KONICA MINOLTA Treibern

  Alt 23. Feb 2018, 12:43
Hallo liebe Community,

diesmal stehe ich vor einem sehr komischen Problem.
Ich lese in einem Programm den Druckertreiber aus, um herauszufinden, ob Duplex aktiviert ist. Dies mache ich über die Windows API Funktion:
Delphi-Quellcode:
function CanDuplex: Boolean;
var
  Device: array [0..255] of Char;
  Driver: array [0..255] of Char;
  Port: array [0..255] of Char;
  hDevMode: THandle;
  pDevMode: PDeviceMode;
begin
  Result := False;
  Printer.GetPrinter(Device, Driver, Port, hDevMode);
  pDevMode := GlobalLock(hDevMode);
  if pDevMode.dmDuplex <> DMDUP_SIMPLEX then
  begin
    Result := True;
  end;
  GlobalUnlock(hDevMode);
end;
Dies hat bisher immer einwandfrei funktioniert. Ein Kunde mit einem KONICA MINOLTA als Drucker, berichtete mir, dass die Erkennung, ob Duplex eingeschaltet ist nicht funktioniert. Egal ob Duplex im Treiber aktiviert wurde oder nicht, die Abfrage gab immer DMDUP_SIMPLEX zurück.

Meine Vermutung ist, das das Standard Duplex Flag über den Treiber nicht gesetzt wird, sondern irgendwo in den Tiefen des dmDriverExtra-Data Bereich abgespeichert wird. Blos wie komme ich da ran? Hat jemand eine Idee, was man noch abfragen muss/könnte, um die Information ordnungsgemäß zu erhalten?

Für Hilfen und Anregungen wäre ich sehr dankbar.

Viele Grüße,
WiPhi
Wer sucht, der findet. Wer länger sucht, findet mehr.
  Mit Zitat antworten Zitat