Fonction SHGetPropertyStoreForWindow (shellapi.h)

Récupère un objet qui représente la collection de propriétés d’une fenêtre spécifique, ce qui permet de interroger ou de définir ces propriétés.

Syntaxe

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

Paramètres

[in] hwnd

Type : HWND

Handle de la fenêtre dont les propriétés sont récupérées.

[in] riid

Type : REFIID

Référence à l’IID de l’objet de magasin de propriétés à récupérer via ppv. C’est généralement IID_IPropertyStore.

[out] ppv

Type : void**

Lorsque cette fonction retourne, contient le pointeur d’interface demandé dans riid. Il s’agit généralement d’IPropertyStore.

Valeur retournée

Type : HRESULT

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Une application peut utiliser cette fonction pour obtenir l’accès au magasin de propriétés d’une fenêtre afin de définir un ID de modèle utilisateur d’application explicite (AppUserModelID) dans la propriété System.AppUserModel.ID .

Les propriétés d’une fenêtre doivent être supprimées avant la fermeture de la fenêtre. Si ce n’est pas le cas, les ressources utilisées par ces propriétés ne sont pas retournées au système. Une propriété est supprimée en la définissant sur le type PROPVARIANT VT_EMPTY.

Lorsqu’un appel est effectué à IPropertyStore::SetValue sur l’objet récupéré via ppv, les propriétés et les valeurs sont immédiatement stockées dans la fenêtre. Par conséquent, aucun appel à IPropertyStore::Commit n’est nécessaire. Aucune erreur ne se produit si elle est appelée, mais elle n’a aucun effet.

Une application définit appUserModelIDs sur des fenêtres individuelles pour contrôler le regroupement de la barre des tâches et le contenu de la liste de raccourcis de l’application. Par instance, une application de suite peut vouloir fournir un bouton de barre des tâches différent pour chacune de ses sous-rubriques, les fenêtres relatives à cette sous-section étant regroupées sous ce bouton. Sans appUserModelID au niveau de la fenêtre, ces fenêtres seraient toutes regroupées sous le processus main.

Les applications doivent également utiliser ce magasin de propriétés pour définir ces propriétés de relance afin que le système puisse retourner l’application à cet état.

Configuration requise

   
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shellapi.h
Bibliothèque Shell32.lib
DLL Shell32.dll (version 6.1 ou ultérieure)

Voir aussi

ID de modèle utilisateur d’application (AppUserModelIDs)