function getSystemDefaultPrinter: string;
var
index: integer;
defaultPrinter: string;
flag: Boolean;
len: DWORD;
begin
if (Printer = nil) or (printer.Printers.Count = 0) then
begin
MessageBox(0, '未找到打印機,請先安裝打印機', '警告', MB_ICONWARNING + MB_OK);
end
else
begin
len := 1024;
SetLength(defaultPrinter, len);
flag := GetDefaultPrinter(PChar(defaultPrinter), @len);
SetLength(defaultPrinter, len);
if flag then
begin
Result := defaultPrinter;
end
else
begin
index := Printer.PrinterIndex; //獲得第一次實例的打印機
Result := Printer.Printers[index];
end;
end;
end;
用到winSpool庫。