Delphi-Help

Главная Статьи Ярлыки Как получить имя файла из его ярлыка?

Как получить имя файла из его ярлыка?

Оцените материал
(0 голосов)


Как получить имя файла из его ярлыка?

uses
  ..., ShlObj, ComObj, ActiveX;
 
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;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage( GetFileNameFromLink( 'C:\NOTEPAD.lnk' ) );
end;
Прочитано 3975 раз

Авторизация



Счетчики