如果从文件类型的友好名字得到文件的Content-type?(50分)

  • 主题发起人 主题发起人 本拉登
  • 开始时间 开始时间

本拉登

Unregistered / Unconfirmed
GUEST, unregistred user!
很拗口是不是?意思是这样的:

比如我们在资源管理器里面选中一个htm文件,右键察看它的属性,可以看到它的
文件类型是“HTML Document”,这就是我所谓的文件类型的“友好名字”。

打开注册表编辑器,HKEY_CLASSES_ROOT,找到 /.htm ,看到它的默认value是htmlfile,
它的Content-type是 text/html 。

现在加入我知道某种文件内容是“HTML Document”类型(但是不知道文件后缀名),我
如何根据“HTML Document”得到对应的ContentType为“text/html”?

本来我准备把HKEY_CLASSES_ROOT下面的东西遍历一遍来查找,可是发现
var Reg:TRegistry;
lst:TStringlist;
reg.GetKeyNames(lst) 这句不起作用,感觉似乎是内容太大,内存溢出
而且,我希望能够尽量使用系统提供的API(应该有)来实现这个功能,最好
不用遍历注册表的方式。
 
你要先做
lst:=TStringList.Create

reg.getkeynames(lst)
 
遍历注册表我已经解决,不过有没有通过系统功能实现的?
我觉得IE之类的应该提供这种功能,不会笨的像我去遍历的。
 
后退
顶部