Delphi 判断ISO文件,ISO文件头, ISO FileHead


本文整理自网络,侵删。

 
type
TISOFileHead = record
iFlagBegin: 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;
var
FileStream: TFileStream;
ISOFileHead: TISOFileHead;
begin
Result := False;
try
if not FileExists(sFileName) then Exit;
//ISO光盘镜像文件从$8000位置开始 数据为 01 43 44 30 30 31 01 // .CD001.
FileStream:=TFileStream.Create(sFileName, fmOpenRead or fmShareDenyNone);
try
if FileStream.Size<$8000 then Exit;
FileStream.Position:=$8000;
if FileStream.Read(ISOFileHead, SizeOf(TISOFileHead))>0 then
begin
Result := (ISOFileHead.iFlagBegin = 01) and
  (string(ISOFileHead.Name)= 'CD001') and  //这里不同版本的标准可能有所不同,但这个应该是最通用的,其他版本没去看是什么
(ISOFileHead.iFlagEnd = 01 ) and
(ISOFileHead.DataEnd = 0);
end;
finally
FileStream.Destroy;
end;
except
end;
end;

 

相关阅读 >>

Delphi 写3389自动登录器

Delphi 软关闭显示器的代码

Delphi tfdconnection只能取得50处理

Delphi编解码js字符串

Delphi文件捆绑器

Delphi 字符串转换ascii码10进制

Delphi savedialog覆盖询问

Delphi读取android设备联系人.Delphixe6中编译通过

Delphi ioutils 单元(6): tpath(结构体)路径的提取和处理

Delphi winapi: getwindowtextlength - 获取窗口标题长度

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...