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

王朝delphi·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

uses Printers;

{$IFNDEF WIN32}

const MAX_PATH = 144;

{$ENDIF}

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;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航