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

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

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

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

uses
  ..., ShlObj, ComObj, ActiveX;
 
function GetFileWorkingDirectoryFromLink( LinkFileName: string ): string;
var
  MyObject: IUnknown;
  MySLink: IShellLink;
  MyPFile: IPersistFile;
  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.GetWorkingDirectory( Buff, MAX_PATH );
   Result := buff;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage( GetFileWorkingDirectoryFromLink( 'C:\NOTEPAD.lnk' ) );
end;
Прочитано 3739 раз

Авторизация



Счетчики