Главная страница
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.012 c
1-7386
Onward
2003-06-22 23:07
2003.07.03
Как можно изменить размеры клиентской области рабочего стола?


3-7309
yaric
2003-06-09 09:10
2003.07.03
События в Interbase


14-7600
Weare
2003-06-17 16:18
2003.07.03
Работа с почтовой программой


3-7322
abc
2003-06-09 18:31
2003.07.03
как запретить ячейки TDBGrid переводиться в режим редактирования?


1-7420
antoniz
2003-06-23 11:19
2003.07.03
Может, кто знает как связать книгу Excel с IPersistStream