如何得到任意一个文件的文件类型?

xiaodong 2001-03-13 10:53:00
例如:在资源管理器中选择一个zip文件,单击右键选择“属性”,在“常规”栏中
可以看到该“文件类型”是:WinZip File ,请问如何得到这个“文件类型”信息,
除了一个一个地判断文件的扩展名外有没有更好的办法?谢谢!
...全文
89 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dbpower 2001-04-17
  • 打赏
  • 举报
回复
先获得扩展名
然后读注册表
var
MyExt,lx,Key:String;
Reg :TRegistry;
begin
MyExt := GetFileExt(FileName);
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CLASSES_ROOT;
try
if reg.OpenKey(MyExt,False) then
begin
Key := Reg.ReadString('');
reg.closekey;
if reg.openkey(key,False) then
lx := Reg.readstring('')
else
ShowMessage('未知文件类型!');
end else
ShowMessage('未知文件类型!');
finally
Reg.free;
end;
ShowMessage('文件类型为'+lx);
end;
Kingron 2001-04-17
  • 打赏
  • 举报
回复
自己读取注册表也可以。
Lin 2001-03-16
  • 打赏
  • 举报
回复
我用过SHGetFileInfo,完全可以的(SHGFI_TYPENAME)。请看MSDN的帮助。
Kingron 2001-03-13
  • 打赏
  • 举报
回复
Windows本来就是靠扩展名来判断的。不判断扩展名靠什么?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧