我在程序里用到判断软驱里面是否有软盘的问题,在中文操作系统下没有问题,在英文操作系统下,
用DISKSIZE(1) 或者是用FOLDEXISTS('A:\')等方法测试,假如软驱中有软盘,OK,关键是软驱中没有软盘的时候,会跳出一个对话框,提示软驱里面没有软盘,问你是ABORT,FALSE,CONTINUE,如何把这个对话框去掉,又能判断软驱里有没有软盘,注:用TYR EXCEPT END 也捉不到这个错误,应该是英文操作系统的问题我想
用DISKSIZE(1) 或者是用FOLDEXISTS('A:\')等方法测试,假如软驱中有软盘,OK,关键是软驱中没有软盘的时候,会跳出一个对话框,提示软驱里面没有软盘,问你是ABORT,FALSE,CONTINUE,如何把这个对话框去掉,又能判断软驱里有没有软盘,注:用TYR EXCEPT END 也捉不到这个错误,应该是英文操作系统的问题我想
用GetVolumeInformation判断就一定没问题!http://lysoft.7u7.net
var
ErrorMode: word;
begin
if Drive in ['a'..'z'] then Dec(Drive, $20);
if not (Drive in ['A'..'Z']) then
raise EConvertError.Create('Not a valid drive ID');
ErrorMode := SetErrorMode(SEM_FailCriticalErrors);
try
if DiskSize(Ord(Drive) - $40) = -1 then
Result := False
else
Result := True;
finally
SetErrorMode(ErrorMode);
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
if DiskInDrive('A') then
ShowMessage('Yes');
end;