Home » Tipps & Tricks » Drucker » Druckereigenschaften » Informationen über den Druckertreiber

Informationen über den Druckertreiber

Diese Procedure bringt einige Informationen über den Druckertreiber ans Tageslicht, z.B. wleche Version benutzt wird, welche Dateien benötigt werden usw.. Die Units WinSpool und Printers müssen eingebunden werden.

procedure TForm1.Button1Click(Sender: TObject);
var
  hPrinter: THandle;
  PrtName: string;
  DriverInfo: PDriverInfo2;
  dwNeeded: DWord;
begin
  PrtName :=  Combobox1.Text;
  OpenPrinter( PChar( PrtName ) , hPrinter , nil );
  GetPrinterDriver(hPrinter,
                   nil,
                   2,
                   DriverInfo,
                   0,
                   dwNeeded );

  GetMem( DriverInfo, dwNeeded );
  if GetPrinterDriver(hPrinter,
                      nil,
                      2,
                      DriverInfo,
                      dwNeeded,
                      dwNeeded ) then
    begin
      // Die Treiber Version
      Memo1.Lines.Add( IntToStr( DriverInfo.cVersion ) );
      Memo1.Lines.Add( StrPas( DriverInfo.pName ) );
      Memo1.Lines.Add( StrPas( DriverInfo.pEnvironment ) );
      Memo1.Lines.Add( StrPas( DriverInfo.pDriverPath ) );
      Memo1.Lines.Add( StrPas( DriverInfo.pDataFile ) );
      Memo1.Lines.Add( StrPas( DriverInfo.pConfigFile ) );
    end
  else
    Memo1.Lines.Add('No Info needed = ' + IntToStr(dwNeeded));

    ClosePrinter( hPrinter );
    FreeMem( DriverInfo );
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Combobox1.Items.Assign( Printer.Printers );
end;
EKON 28