Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.007 c
3-60499
vadim_S
2002-07-29 13:41
2002.08.19
Отбор записей


14-60816
Horreap
2002-07-20 21:44
2002.08.19
ID3 TAG v2


7-60882
Oleg_er
2002-06-03 15:33
2002.08.19
Кто использует файл на серваке?


1-60702
Влад Утюмов
2002-08-05 17:56
2002.08.19
Разработка компонент: класс как свойство компоненты.


1-60664
GTA 3
2002-08-05 19:56
2002.08.19
Не получается с Reg.ReadBinaryData





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский