怎样用API函数检测打印机有无联机?(100分)

  • 主题发起人 主题发起人 Zhangguopeng
  • 开始时间 开始时间
Z

Zhangguopeng

Unregistered / Unconfirmed
GUEST, unregistred user!
不用控件,怎样用低层命令检测打印机的准备状态?
 
getdevicecaps()
devicecapabilities()
 
参数怎么设置?
getdevicecaps()
devicecapabilities()
 
wjiachun, 时间:2001-3-12 10:41:00, ID:468640
  Printers是专门用来控制打印机的,可是在没有安装打印机时,
却会提示I/O错误,所以必须有一个检测是否存在打印机的方法,我
试过很多方法,可是I/O错误总是比我的判断早出现,所以采用以下
的烂招来检测打印机。首先在uses增加Printers,再准备一个列表框
ComboBox1,其属性Visible设为FALSE,然后在打印之前执行下列语
句,那么就可以检测到是否存在打印机了:
BaKuBaKu, 时间:2000-12-7 16:34:00, ID:412277
其实也没有必要,反正打印作业不会丢失,都放在缓存里呢,试想如果你打到一半打印机
掉电了,还不是没法处理。
程序只管打,Windows 会提示的。不知道你能不能接受!:-)




procedure TForm1.ButtonClick(Sender: TObject);

begin

ComboBox1.Clear;
ComboBox1.Items.Assign(Printer.Printers);
if ComboBox1.Items.CommaText=''
then
Messagedlg('你需要安装打印机才能打印!',mtError,[mbOk],0);
else
Form1.Print;

end;



 
后退
顶部