且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

delphi选择打印机:Delphi中获取打印机设备

更新时间:2022-08-14 16:16:12

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 ,如需转载请自行联系原作者