Главная страница
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.013 c
8-7563
Help me!!!!!!!1
2003-03-20 16:33
2003.07.03
Как сделать зону рисования больше в TImage.Canvas


6-7579
Art12
2003-04-23 00:55
2003.07.03
IP пакеты вручную / удалённая ОС


3-7342
Jaxtor
2003-06-10 12:15
2003.07.03
ORDER BY


14-7689
paxer
2003-06-14 15:54
2003.07.03
Что у нас случилось с Чернобылем?


1-7407
Skier
2003-06-16 11:09
2003.07.03
DLL. Передача