// Hiermit kann man feststellen, ob der Standarddrucker ein Farb- oder ein
// Schwarz/Weiß-Drucker ist. Da sich seit dem Programmstart etwas an der
// Druckereinstellung geändert haben kann, muss eine eigene Instanz
(Aktuell)
// erzeugt werden.

// Getestet mit D4 unter XP

uses printers; 
 
function Color_Black_Printer: integer; 
var Aktuell: TPrinter; 
begin 
  Aktuell := TPrinter.create; 
  if Aktuell.Printers.count > 0 then begin 
    result := (GetDeviceCaps(Aktuell.Handle, BITSPIXEL) * 
      GetDeviceCaps(Aktuell.Handle, PLANES)); 
  end else result := 0; 
  Aktuell.free; 
end; 
 
procedure TForm1.Button5Click(Sender: TObject); 
var s: string; 
begin 
  case Color_Black_Printer of 
    0: s := 'Keinen Drucker gefunden.'; 
    1: s := 'Der aktuelle Standard-Drucker druckt schwarz/weiß.'; 
  else s := 'Der aktuelle Standard-Drucker druckt farbig.'; 
  end; 
  showmessage(s); 
end; 



Zugriffe seit 6.9.2001 auf Delphi-Ecke