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

Вниз

Как узнать на какой файл ссылается ярлык.   Найти похожие ветки 

 
Serg001 ©   (2002-02-23 18:29) [0]

Подскажите, как программно узнать на какой файл ссылается ярлык.


 
Sasha9   (2002-02-23 19:07) [1]

если ты открываешь ярлы через TOpenDialog то он сам это делает, а если нет то посмотри исходники TOpenDialog"а


 
Набережных С.   (2002-02-23 20:32) [2]

function TItemsForm.AssociatedObj(const Link: string; var Arguments: string): string;
var
Lnk:IShellLink;
Prf: IPersistFile;
LinkPath,Argum:array [0..MAX_PATH]of Char;
PFD:WIN32_FIND_DATA;
begin
result:=Link;
Lnk:=CreateComObject(CLSID_ShellLink) as IShellLink;
try
OleCheck(Lnk.QueryInterface(System.TGUID(IID_IPersistFile),Prf));
try
if Prf.Load(StringToOLESTR(Link),STGM_READ)=S_OK then
begin
OleCheck(Lnk.GetPath(LinkPath,MAX_PATH,PFD,SLGP_UNCPRIORITY));
OleCheck(Lnk.GetArguments(Argum,MAX_PATH));
result:=LinkPath;
Arguments:=Argum;
end;
finally
Prf:=nil;
end;
finally
Lnk:=nil;
end;
end;


 
vid ©   (2002-02-23 23:19) [3]

вот функция... хотя похоже я опоздал :)

Function GetFileNamefromLink(LinkFileName:String):String;
// Эта функция возвращает полный путь к файлу, из ярлыка этого файла
var
MyObject: IUnknown;
MySLink: IShellLink;
MyPFile: IPersistFile;
FileInfo: TWin32FINDDATA;
WidePath: array [0..MAX_PATH] of WideChar;
Buff: array [0..MAX_PATH] of Char;
begin
Result := "";
if (fileexists(Linkfilename)=false) then exit;
MyObject := CreateComObject(CLSID_ShellLink);
MyPFile := MyObject as IPersistFile;
MySLink := MyObject as IShellLink;
StringToWideChar(LinkFileName, WidePath, SizeOf(WidePath));
MyPFile.Load(WidePath, STGM_READ);
MySLink.GetPath(Buff, Max_PATH, FileInfo, SLGP_UNCPRIORITY);
Result := buff ;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
1-64689
Windeus
2002-05-05 12:14
2002.05.20
Запуск программы открытием файлов


3-64494
Nina
2002-04-22 14:44
2002.05.20
Каскадное удаление для Query!


3-64531
Hamster
2002-04-22 09:14
2002.05.20
Подскажите пожалуйста..как это организовать ?..


14-64791
Donal_Graeme
2002-04-10 10:06
2002.05.20
Kylix снова и снова :-)


1-64719
RaZEr
2002-05-01 05:37
2002.05.20
Новая вкладка + новый компонент