• 全部
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API
  • 问答

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

xiaodong 2001-03-13 10:53:00
例如:在资源管理器中选择一个zip文件,单击右键选择“属性”,在“常规”栏中
可以看到该“文件类型”是:WinZip File ,请问如何得到这个“文件类型”信息,
除了一个一个地判断文件的扩展名外有没有更好的办法?谢谢!
...全文
64 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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本来就是靠扩展名来判断的。不判断扩展名靠什么?
回复
相关推荐
发帖
Delphi
创建于2007-08-02

4875

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2001-03-13 10:53
社区公告
暂无公告