2014年1月24日 星期五

判斷磁碟機是否有效

function ValidDrive( driveletter: Char ): Boolean;  
var  
  mask: String[6];  
  sRec: TSearchRec;  
  oldMode: Cardinal;  
  retcode: Integer;  
begin  
   oldMode :=SetErrorMode( SEM_FAILCRITICALERRORS );  
   mask:= '?:\*.*';  
   mask[1] := driveletter;  
   {$I-}  { don't raise exceptions if we fail }  
   retcode := FindFirst( mask, faAnyfile, SRec );  
   if retcode = 0 then  
     FindClose( SRec );  
   {$I+}  
   Result := Abs(retcode) in  
     [ERROR_SUCCESS,ERROR_FILE_NOT_FOUND,ERROR_NO_MORE_FILES];  
   SetErrorMode( oldMode );  
end{ ValidDrive } 

沒有留言:

張貼留言