我在程序中要访问软盘或者CD-ROM,当没有磁盘插入的时候就会弹出“请将磁盘插入驱动器A”这个对话筐,有办法截取这个异常并闭频掉它么?,

解决方案 »

  1.   

    下面这个函数在访问软驱光驱时能屏蔽系统错误提示框。
    function DiskInDrive(lw: Char ): integer; 
    var 
      sRec: TSearchRec; 
      res: integer; begin 
      Result:= 0; 
      SetErrorMode(SEM_FAILCRITICALERRORS);   
      result := False; 
      {$I-} 
        res := FindFirst(lw + ‘:\*.*‘, faAnyfile, SRec ); 
        FindClose(SRec);   
      {$I+} 
      case res of 
         0     : Result := 0;   
         2,18  : Result := 1; 
         21,3  : Result := 2; 
      else 
        Result := res; 
      end; 
    end; 使用:
    procedure TForm1.Button1Click(Sender: TObject); 
    var 
      x: integer; begin 
      x := DiskInDrive(‘a‘); 
      case x of 
        0: ShowMessage(‘有盘 !‘); 
        1: ShowMessage(‘有盘无文件 !‘); 
        2: ShowMessage(‘无盘 !‘); 
      else 
           ShowMessage(‘没有格式化 !‘); 
      end; //case 
    end;