在编程时,有时会需要知道某个类型的文件关联到了那个文件上,就是双击时被哪个软件打开。方法是查询注册表,看这个扩展名是关联到了哪个文件上。
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;
文章评论(0条评论)
登录后参与讨论