// 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;
|