Как получить описание файла из его ярлыка?
uses
..., ShlObj, ComObj, ActiveX;
function GetFileDescriptionFromLink( 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.GetDescription( Buff, MAX_PATH );
Result := buff;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage( GetFileDescriptionFromLink( 'C:\NOTEPAD.lnk' ) );
end; |