怎样检测打印机没纸了? ( 积分: 100 )

  • 主题发起人 主题发起人 hyl
  • 开始时间 开始时间
H

hyl

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样检测打印机没纸了,在Delphi中如何实现?
 
怎样检测打印机没纸了,在Delphi中如何实现?
 
不会吧!怎么没人回答![:(]
 
function TPrinterStateThread.Get_Printer_State(hPrinter: THandle): String;
var
Size: DWORD;
pInfo2: ^TPrinterInfo2;
begin
WinSpool.GetPrinter(hPrinter, 2, pInfo2, 0, @Size);
GetMem(pInfo2, Size);
try
if WinSpool.GetPrinter(hPrinter, 2, pInfo2, Size, @Size) then
Result := Get_Printer_Statues(pInfo2.Status)
else
Result := SysErrorMessage(GetLastError);
finally
FreeMem(pInfo2);
end;
end;

我程序中的其中一个函数,你参考一下吧~
PRINTER_STATUS_PAPER_OUT是没纸~
 
我也遇到这样的问题有谁能解决,奉上本人全部分数!!
 
估计只有用API函数能解决,具体的例子没有
 
这个问题我遇见过,
API应该能搞定,我只是用过用API设置自定义纸张的,应该也有检测打印机具体状态的.
请高手们来指点吧.
 
都毛病吧。给了代码,还不会。晕。。。。
 
老兄,
你这个是什么意思,
Result := Get_Printer_Statues(pInfo2.Status)
 
在nt环境下面用pInfo2.Status 检测不到打印机是否缺纸?
在nt下面只有这两种状态:
PRINTER_STATUS_PAUSED
PRINTER_STATUS_PENDING_DELETION
 
不会吧!怎么没人回答![:(]
 
多人接受答案了。
 
后退
顶部