Самоучитель по Delphi 7 для профессионалов



             

Интерфейс IShellLink



Этот интерфейс представляет собой средство для создания и управления ярлыками (shortcuts). Все читатели этой главы наверняка создавали и перемещали ярлыки для наиболее нужных программ, файлов и папок — на рабочем столе, в главном меню и т. д. С точки зрения ОС эти действия — не что иное, как создание и изменение свойств СОМ-объекта.

Каждый ярлык содержит следующую информацию: 

  •  путь к объекту, на который ссылается ярлык (Path);
  •  рабочий каталог для этого объекта (Working Directory);
  •  список параметров, передаваемый объекту при его активизации (Arguments);
  •  начальное состояние окна, соответствующего объекту (нормальное, минимизированное, максимизированное) (ShowCmd);
  •  путь к значку, соответствующему объекту (Icon Location);
  •  описание объекта (Description);
  •  сочетание "горячих" клавиш (HotKey).

Для всех этих свойств ярлыка в интерфейсе дано по паре методов — один для чтения, другой для установки значения:

IShellLink = interface(lUnknown) 

{ si }

[SID_IShellLinkA]

function GetPath(pszFile: PAnsiChar;

 cchMaxPath: Integer; var pfd: TWin32FindData; 

fFlags: DWORD): HResult; stdcall;

function GetlDList(var ppidl: PItemlDList): HResult; stdcall;

function SetlDList(pidl: PItemlDList): HResult;

 stdcall;

function GetDescription(pszName: PAnsiChar; 

cchMaxName: Integer): HResult;

 stdcall;

function SetDescription(pszName: PAnsiChar): HResult; stdcall;

function GetWorkingDirectory(pszDir: PAnsiChar; cchMaxPath: Integer): HResult; stdcall;

function SetWorkingDirectory(pszDir: PAnsiChar): HResult; stdcall;

function GetArguments(pszArgs: PAnsiChar; cchMaxPath: Integer): HResult; stdcall;

function SetArguments(pszArgs: PAnsiChar): HResult; stdcall;

function GetHotkey(var pwHotkey: Word): HResult; stdcall;

function SetHotkey(wHotkey: Word): HResult; stdcall;

function GetShowCmd(out piShowCmd: Integer): HResult; stdcall;

function SetShowCmd(iShowCmd: Integer): HResult; stdcall;


Содержание  Назад  Вперед