从网上,copy获取打印机信息的代码! ( 积分: 50 )

  • 主题发起人 主题发起人 through86
  • 开始时间 开始时间
T

through86

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure&nbsp;TForm1.Button1Click(Sender:&nbsp;TObject);<br>&nbsp;&nbsp;var<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pDevice&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;pChar;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pDriver&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;pChar;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pPort&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;pChar;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hDMode&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;THandle;<br>&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;&nbsp;PrintDialog1.Execute&nbsp;&nbsp;&nbsp;then&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetMem(pDevice,&nbsp;&nbsp;&nbsp;cchDeviceName);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetMem(pDriver,&nbsp;&nbsp;&nbsp;MAX_PATH);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetMem(pPort,&nbsp;&nbsp;&nbsp;MAX_PATH);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Printer.GetPrinter(pDevice,&nbsp;&nbsp;&nbsp;pDriver,&nbsp;&nbsp;&nbsp;pPort,&nbsp;&nbsp;&nbsp;hDMode);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;&nbsp;lStrLen(pDriver)&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;then&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetProfileString('Devices',&nbsp;&nbsp;&nbsp;pDevice,&nbsp;&nbsp;&nbsp;'',&nbsp;&nbsp;&nbsp;pDriver,&nbsp;&nbsp;&nbsp;MAX_PATH);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pDriver[pos(',',&nbsp;&nbsp;&nbsp;pDriver)&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;1]&nbsp;&nbsp;&nbsp;:=&nbsp;&nbsp;&nbsp;#0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;&nbsp;lStrLen(pPort)&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;then&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetProfileString('Devices',&nbsp;&nbsp;&nbsp;pDevice,&nbsp;&nbsp;&nbsp;'',&nbsp;&nbsp;&nbsp;pPort,&nbsp;&nbsp;&nbsp;MAX_PATH);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lStrCpy(pPort,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@pPort[lStrLen(pPort)+2]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Memo1.Lines.Add('Device&nbsp;&nbsp;&nbsp;:=&nbsp;&nbsp;&nbsp;'&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;StrPas(pDevice));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Memo1.Lines.Add('Driver&nbsp;&nbsp;&nbsp;:=&nbsp;&nbsp;&nbsp;'&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;StrPas(pDriver));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Memo1.Lines.Add('Port&nbsp;&nbsp;&nbsp;:=&nbsp;&nbsp;&nbsp;'&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;StrPas(pPort));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FreeMem(cchDeviceName);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FreeMem(pDriver,&nbsp;&nbsp;&nbsp;MAX_PATH);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FreeMem(pPort,&nbsp;&nbsp;&nbsp;MAX_PATH);<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;end;
 
GetMem(pDevice,&nbsp;&nbsp;&nbsp;cchDeviceName);<br>cchdevicename&nbsp;是integer吧<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FreeMem(cchDeviceName);&nbsp;是什么呢?<br>是否该&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FreeMem(pdevice);&nbsp;呢<br><br>请使用你的head<br>如果head&nbsp;not&nbsp;zai<br>的话oh&nbsp;ho
 

Similar threads

S
回复
0
查看
579
SUNSTONE的Delphi笔记
S
S
回复
0
查看
674
SUNSTONE的Delphi笔记
S
后退
顶部