Функция 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.
Приложения также должны использовать это хранилище свойств, чтобы задать эти свойства перезапуска, чтобы система вернет приложение в это состояние.
- System.AppUserModel.RelaunchCommand
- System.AppUserModel.RelaunchDisplayNameResource
- System.AppUserModel.RelaunchIconResource
Требования
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | shellapi.h |
Библиотека | Shell32.lib |
DLL | Shell32.dll (версия 6.1 или более поздняя) |
См. также раздел
Идентификаторы модели пользователя приложения (Идентификаторы AppUserModelID)