原创 怎样获取关联文件的执行文件?

2009-3-24 14:30 3109 7 7 分类: 软件与OS

在编程时,有时会需要知道某个类型的文件关联到了那个文件上,就是双击时被哪个软件打开。方法是查询注册表,看这个扩展名是关联到了哪个文件上。


function getAssociateIconFile(ext: string): string;
var
  r: TRegistry;
  s: string;
begin
  Result :=
''
;
  r := TRegistry.Create;
  
try
    r.rootkey := HKEY_CLASSES_ROOT;
    if r.openkeyreadonly(ext)
then
    
begin
      s := r.ReadString(
''
);
      r.closekey;
      if r.openkeyreadonly(s +
'\DefaultIcon')
then
      
begin
        Result := r.ReadString(
''
);
      
end
      
else
      
begin
        if r.openkeyreadonly(s +
'\shell\open\command')
then
        
begin
          Result := r.ReadString(
''
);
        
end

      end;
      r.closekey;
    end;
  
finally
    r.Free;
  end;
end;


 


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条