Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.03;
Скачать: CL | DM;

Вниз

ExtractIcon и *.LNK файлы.   Найти похожие ветки 

 
demonyator ©   (2003-05-01 03:12) [0]

Как вытянуть иконку из LNK файла? ExtractIcon и ExtractAssociatedIcon вытягивают иконку из самого файла, вне зависимости от иконки, присвоенной LNK файлу. Судя по всему, винда просто тянет иконку из файла, на который указывает LNK. Если это так, то тогда помогите решить задачу отображения иконки самого LNK....


 
Набережных С.   (2003-05-01 09:49) [1]


function TAddGroupForm.GetCurentIcon(const Link: WideString; out IconSource: string;
out IconIndex: integer): boolean;
var
Lnk:IShellLink;
Prf: IPersistFile;
FD: TWin32FindData;
HRes: HResult;
begin
Result:=false;
try
Lnk:=CreateComObject(CLSID_ShellLink) as IShellLink;
Prf:=Lnk as IPersistFile;
HRes:=Prf.Load(PWideChar(Link), STGM_READ);
if HRes = S_OK then
begin
SetLength(IconSource, MAX_PATH);
OleCheck(Lnk.GetIconLocation(@IconSource[1], MAX_PATH, IconIndex));
Result:=Length(PChar(IconSource)) > 0;
if not Result then
begin
OleCheck(Lnk.GetPath(@IconSource[1], MAX_PATH, FD, 0));
Result:=Length(PChar(IconSource)) > 0;
IconIndex:=0;
end;
if Result then IconSource:=PChar(IconSource) else IconSource:="";
end else
begin
SetLastError(HRes);
RaiseLastWin32Error;
end;
except
ShowException(ExceptObject, ExceptAddr);
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2003.07.03;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.016 c
1-7454
Centurion
2003-06-23 17:58
2003.07.03
Программа в программе


4-7769
Clamat
2003-05-01 09:25
2003.07.03
Правильное завершение системы


1-7409
OlDemon
2003-06-20 08:19
2003.07.03
Появление дочерних окон


1-7417
Anton Lagutin
2003-06-22 01:45
2003.07.03
Работа с INI файлами


14-7691
Кен
2003-06-17 03:29
2003.07.03
На чём написан Дельфи. На Си или на Дельфи ?