(CodeLib-Manager)
Registriert seit: 10. Jun 2002
4.648 Beiträge
Delphi XE Professional
|
Re: Spezielle Druckereigenschaften auslesen
9. Mär 2008, 12:53
Hallo
Probiere mal den Code von Joe C. Hecht:
Delphi-Quellcode:
uses
Printers;
function IsPostScriptPrinter( dc : hdc) : bool;
var
TestInt : integer;
a : array[0..255] of char;
err : integer;
s : string;
begin
Result := false;
TestInt := GETTECHNOLOGY;
{$IFDEF WIN32}
if ExtEscape( Dc,
QUERYESCSUPPORT,
sizeof(TestInt),
@TestInt,
0,
Nil) > 0 then begin
Err := ExtEscape( Dc,
GETTECHNOLOGY,
0,
nil,
256,
@a);
{$ELSE}
if Escape( Dc,
QUERYESCSUPPORT,
sizeof(TestInt),
@TestInt,
Nil) > 0 then begin
Err := Escape( Dc,
GetTechnology,
0,
nil,
@a);
{$ENDIF}
if Err > 0 then begin
s:= UpperCase(StrPas(a));
if Pos(' POSTSCRIPT',s) > 0 then
result := true;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if PrintDialog1.Execute then
if IsPostScriptPrinter(Printer.Handle) then
ShowMessage(' This is a Postscript Printer') else
ShowMessage(' This is not a Postscript Printer');
end;
Thomas
|
|
Zitat
|