Поделиться через


Функция SHGetPropertyStoreForWindow (shellapi.h)

Извлекает объект , представляющий коллекцию свойств определенного окна, которая позволяет запрашивать или задавать эти свойства.

Синтаксис

SHSTDAPI SHGetPropertyStoreForWindow(
  [in]  HWND   hwnd,
  [in]  REFIID riid,
  [out] void   **ppv
);

Параметры

[in] hwnd

Тип: HWND

Дескриптор для окна, свойства которого извлекаются.

[in] riid

Тип: REFIID

Ссылка на IID объекта хранилища свойств, извлекаемого через ppv. Обычно это IID_IPropertyStore.

[out] ppv

Тип: void**

При возврате этой функции содержит указатель интерфейса, запрошенный в riid. Обычно это IPropertyStore.

Возвращаемое значение

Тип: HRESULT

Если эта функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Приложение может использовать эту функцию для получения доступа к хранилищу свойств окна, чтобы задать явный идентификатор модели пользователя приложения (AppUserModelID) в свойстве System.AppUserModel.ID .

Свойства окна должны быть удалены перед закрытием окна. Если этого не сделать, ресурсы, используемые этими свойствами, не возвращаются в систему. Свойство удаляется путем присвоения ему типа PROPVARIANT VT_EMPTY.

При вызове IPropertyStore::SetValue объекта, полученного через ppv, свойства и значения немедленно сохраняются в окне. Поэтому вызов IPropertyStore::Commit не требуется. При вызове ошибки не возникает, но это не оказывает никакого влияния.

Приложение задает Идентификаторы AppUserModel В отдельных окнах для управления сгруппированием на панели задач приложения и содержимым списка переходов. Например, приложению набора может потребоваться предоставить другую кнопку панели задач для каждого из своих подкомпонентов, а окна, связанные с этой подфактурой, сгруппированы под этой кнопкой. Без идентификаторов AppUserModelID на уровне окна все эти окна будут сгруппированы в рамках процесса main.

Приложения также должны использовать это хранилище свойств, чтобы задать эти свойства перезапуска, чтобы система вернет приложение в это состояние.

Требования

   
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header shellapi.h
Библиотека Shell32.lib
DLL Shell32.dll (версия 6.1 или более поздняя)

См. также раздел

Идентификаторы модели пользователя приложения (Идентификаторы AppUserModelID)