uses
Printers;
procedure TForm1.Button1Click(Sender: TObject);
var
ADevice, ADriver, APort: PChar;
ADeviceMode: DWORD;
begin
if PrinterSetupDialog1.Execute then
begin
ADevice := StrAlloc(MAX_PATH);
ADriver := StrAlloc(MAX_PATH);
APort := StrAlloc(MAX_PATH);
try
Printer.GetPrinter(ADevice, ADriver, APort, ADeviceMode);
with Memo1.Lines do
begin
Add('Device: ' + string(ADevice));
Add('Driver: ' + string(ADriver));
Add('Port: ' + string(APort));
Add('DeviceMode: ' + IntToStr(ADeviceMode));
end;
finally
StrDispose(ADevice);
StrDispose(ADriver);
StrDispose(APort);
end;
end;
end;