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;
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;