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

Вниз

Shell Link   Найти похожие ветки 

 
Link   (2002-08-08 21:54) [0]

Мне нужно по иени ярлыка узнать имя файла, на который он ссыляется. Я пишу так:
function GetShellLink(LinkFileName:String):String;
var
ShellLink:IShellLink;
pfd:TWin32FindData;
begin
ShellLink:=CreateComObject(CLSID_ShellLink) as IShellLink;
ShellLink.GetPath(PChar(LinkFileName),200,pfd,0);
Result:=pfd.cFileName;
end;

Но в Result всегда получается "". Где ошибка? (И как её исправить?)


 
_Александр_   (2002-08-09 05:35) [1]

Попробуй так:

function GetFullNameFromLink(const LinkFile: WideString): String;
var
SL: IShellLink;
PF: IPersistFile;
FindData: TWin32FindData;
Str: array[0..MAX_PATH] of char;
begin
OleCheck(CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IShellLink, SL));
PF := SL as IPersistFile;
OleCheck(PF.Load(PWideChar(LinkFile), STGM_READ));
OleCheck(SL.Resolve(0, SLR_ANY_MATCH or SLR_NO_UI));

OleCheck(SL.GetPath(Str, MAX_PATH, FindData, SLGP_SHORTPATH));
Result := Str;
end;

Прим:
Uses
..., ShlObj, ActiveX, ComObj, ...



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
1-60679
MikeFW
2002-08-06 11:08
2002.08.19
Как выделить цветом записи в TreeView?


1-60568
Dmk
2002-08-06 23:46
2002.08.19
Как высоту Caption формы сделать поменьше.


1-60692
Edvin
2002-08-06 13:45
2002.08.19
Эмулировать нажатие Ctrl+V


1-60694
Дельфятник
2002-08-06 12:31
2002.08.19
Ещё один вопрос по очистке TList a.


1-60588
dn
2002-08-08 00:07
2002.08.19
Памагите ламеру!!