您的位置:首页 > 编程语言 > Delphi

Delphi中获取打印机设备名和端口名

2013-08-07 17:32 369 查看
uses printers;

procedure TForm1.Button1Click(Sender: TObject);

var

pDevice : pChar;

pDriver : pChar;

pPort : pChar;

hDMode : THandle;

begin

if PrintDialog1.Execute then begin

GetMem(pDevice, cchDeviceName);

GetMem(pDriver, MAX_PATH);

GetMem(pPort, MAX_PATH);

Printer.GetPrinter(pDevice, pDriver, pPort, hDMode);

if lStrLen(pDriver) = 0 then begin

GetProfileString('Devices', pDevice, '', pDriver, MAX_PATH);

pDriver[pos(',', pDriver) - 1] := #0;

end;

if lStrLen(pPort) = 0 then begin

GetProfileString('Devices', pDevice, '', pPort, MAX_PATH);

lStrCpy(pPort, @pPort[lStrLen(pPort)+2]);

end;

Memo1.Lines.Add('Device := ' + StrPas(pDevice));

Memo1.Lines.Add('Driver := ' + StrPas(pDriver));

Memo1.Lines.Add('Port := ' + StrPas(pPort));

FreeMem(pDevice, cchDeviceName);

FreeMem(pDriver, MAX_PATH);

FreeMem(pPort, MAX_PATH);

end;

end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: