delphi 获取系统注册的文件图标  
官方Delphi 学习QQ群: 682628230(三千人)\n
频道

delphi 获取系统注册的文件图标


var
  Icon:TICON;
  Key : string;
  App : string;
  Index : Integer;
begin
  FileName:=Edit6.Text;
  if Pos('.',FileName) < 0 then
  begin
    Exit;
  end;
  with TRegistry.Create do
  try
    RootKey:=HKEY_CLASSES_ROOT;
    Key:=ExtractFileExt(FileName);
    if KeyExists(Key) then
    begin
      OpenKey(Key,false);
      Key:=ReadString(#);
      CloseKey;
    end;
    if Key<>''
then
    begin
      RootKey:=HKEY_CLASSES_ROOT;
      if KeyExists(Key) then
      begin
        OpenKey(Key,false);
        OpenKey('DefaultIcon',false);
        Key:=ReadString(#);
        CloseKey;
      end;
    end;
  finally
    free;
  end;
  if Key<>'' then
  begin
    Icon:=TIcon.Create;
    App:='';
    Index :=0;
    If Pos(',',Key) > 0 then
    begin
      App :=Copy(Key,1,Pos(',',Key)-1);
      try
        Index :=StrToInt(Copy(Key,Pos(',',Key)+1,Length(Key)));
      except
        Index :=0;
      end;
    end;
    if App<> '' then
    begin
      Icon.Handle:=ExtractIcon( HINSTANCE,PChar(App),Index);
      Form1.Icon:=Icon;
    end;
    Icon.Free;
  end;
  Edit5.Text := Key;
end;

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.094033002853394 seconds