|
#1
|
|||
|
|||
Ico из реестра
Как вытащить иконку из реестра?
Делаю так но не работает: Код:
function GetRegistryIconHandle(FileName: string): HICON; var R: TRegistry; Alias, //псевдвним для расширения в реестре IconPath: string; //путь для файла с иконкой IconNum, //номер иконки в файле QPos: Integer; //позиция запятой в записи реестра begin IconNum := 0; R := TRegistry.Create; try R.RootKey := HKEY_CLASSES_ROOT; if R.OpenKey('\' + ExtractFileExt(FileName), True) then Alias := R.ReadString(''); R.CloseKey; if R.OpenKey('\' + Alias + '\DefaultIcon', True) then IconPath := R.ReadString(''); R.CloseKey; QPos := Pos(',', IconPath); if QPos <> 0 then begin IconNum := StrToInt(Copy(IconPath, QPos + 1, 4)); IconPath := Copy(IconPath, 1, QPos - 1) end; finally R.Free; end; Result := ExtractIcon(hInstance, PChar(IconPath), IconNum); end; |
#2
|
|||
|
|||
Не занимайся ерундой, тащи из шела:
Код:
procedure TMailMessageForm.FormCreate(Sender: TObject); var SHFI: TSHFileInfo; begin ilSysIcons.Handle := SHGetFileInfo(PChar(''), 0, SHFI , SizeOf(SHFI), SHGFI_ICON or SHGFI_SMALLICON or SHGFI_SYSICONINDEX); end; function TMailMessageForm.GetSystemImageIndex(AFileName : String) : Integer; var SHFI : TSHFileInfo; begin Result := -1; Try SHGetFileInfo(PChar(AFileName),FILE_ATTRIBUTE_NORMAL,SHFI, sizeof(SHFI), SHGFI_SYSICONINDEX Or SHGFI_USEFILEATTRIBUTES Or SHGFI_SMALLICON ); Result := SHFI.iIcon; Except End; end; |
#3
|
|||
|
|||
Мне просто нужно получить иконку ассоциируемогой программы этого файла. Как осуществить?
|
#4
|
||||
|
||||
Тебе дали код.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
|||
|
|||
Вы не поняли, например если у меня аудиопроигрыватель по умолчанию AIMP, а значек у файла МР3 показывает Windows проигрывателя.
|
#6
|
||||
|
||||
удали AIMP, если Windows, то будет играть по умолчанию
Пишу программы за еду. __________________ |
#7
|
||||
|
||||
Цитата:
Не стоит путать форумы с богадельнями. © Bargest |