Delphi-Help

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

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

Оцените материал
(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;
Прочитано 4775 раз

Авторизация



Счетчики