博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
delphi选择打印机:Delphi中获取打印机设备
阅读量:6995 次
发布时间:2019-06-27

本文共 1126 字,大约阅读时间需要 3 分钟。

delphi选择打印机:Delphi中获取打印机设备名和端口名 

疯狂代码 http://www.CrazyCoder.cn/ :http:/www.CrazyCoder.cn/
Delphi/Article11928.html 
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; 
2008-9-24 11:57:57 
疯狂代码 http://www.CrazyCoder.cn/
本文转自鹅倌51CTO博客,原文链接:http://blog.51cto.com/kaixinbuliao/1331892 ,如需转载请自行联系原作者
你可能感兴趣的文章