Delphi-Help

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

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

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

Авторизация



Счетчики