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.
- System.AppUserModel.RelaunchCommand
- System.AppUserModel.RelaunchDisplayNameResource
- System.AppUserModel.RelaunchIconResource
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) |