本文整理自网络,侵删。
typeTISOFileHead = recordiFlagBegin: Byte;Name: array[0..4]of Char;iFlagEnd : Byte;DataEnd : Byte;sSystemName : array[0..31]of Char;sVolumnName: array[0..31]of Char;end;function IsISOFile(sFileName:string):BOOL;varFileStream: TFileStream;ISOFileHead: TISOFileHead;beginResult := False;tryif not FileExists(sFileName) then Exit;//ISO光盘镜像文件从$8000位置开始 数据为 01 43 44 30 30 31 01 // .CD001.FileStream:=TFileStream.Create(sFileName, fmOpenRead or fmShareDenyNone);tryif FileStream.Size<$8000 then Exit;FileStream.Position:=$8000;if FileStream.Read(ISOFileHead, SizeOf(TISOFileHead))>0 thenbeginResult := (ISOFileHead.iFlagBegin = 01) and (string(ISOFileHead.Name)= 'CD001') and //这里不同版本的标准可能有所不同,但这个应该是最通用的,其他版本没去看是什么(ISOFileHead.iFlagEnd = 01 ) and(ISOFileHead.DataEnd = 0);end;finallyFileStream.Destroy;end;exceptend;end;
相关阅读 >>
Delphi读取android设备联系人.Delphixe6中编译通过
Delphi ioutils 单元(6): tpath(结构体)路径的提取和处理
Delphi winapi: getwindowtextlength - 获取窗口标题长度
更多相关阅读请进入《Delphi》频道 >>