Printers是專門用來控制打印機的,可是在沒有安裝打印機時,卻會提示I/O錯誤,所以必須有一個檢測是否存在打印機的方法,我試過很多方法,可是I/O錯誤總是比我的判斷早出現,所以采用以下的爛招來檢測打印機。首先在uses增加Printers,再准備一個列表框ComboBox1,其屬性Visible設為FALSE,然後在打印之前執行下列語句,那麼就可以檢測到是否存在打印機了:
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;