Função SHGetPropertyStoreForWindow (shellapi.h)
Recupera um objeto que representa a coleção de propriedades de uma janela específica, que permite que essas propriedades sejam consultadas ou definidas.
Sintaxe
SHSTDAPI SHGetPropertyStoreForWindow(
[in] HWND hwnd,
[in] REFIID riid,
[out] void **ppv
);
Parâmetros
[in] hwnd
Digite: HWND
Um identificador para a janela cujas propriedades estão sendo recuperadas.
[in] riid
Tipo: REFIID
Uma referência ao IID do objeto do repositório de propriedades a ser recuperado por meio de ppv. Normalmente, isso é IID_IPropertyStore.
[out] ppv
Tipo: void**
Quando essa função retorna, contém o ponteiro de interface solicitado em riid. Normalmente, isso é IPropertyStore.
Valor retornado
Tipo: HRESULT
Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
Um aplicativo pode usar essa função para obter acesso ao repositório de propriedades de uma janela para que ele possa definir uma ID explícita do Modelo de Usuário do Aplicativo (AppUserModelID) na propriedade System.AppUserModel.ID .
As propriedades de uma janela devem ser removidas antes que a janela seja fechada. Se isso não for feito, os recursos usados por essas propriedades não serão retornados ao sistema. Uma propriedade é removida definindo-a como o tipo PROPVARIANT VT_EMPTY.
Quando uma chamada é feita para IPropertyStore::SetValue no objeto recuperado por meio de ppv, as propriedades e os valores são armazenados imediatamente na janela. Portanto, nenhuma chamada para IPropertyStore::Commit é necessária. Nenhum erro ocorrerá se for chamado, mas não terá efeito.
Um aplicativo define AppUserModelIDs em janelas individuais para controlar o agrupamento da barra de tarefas do aplicativo e o conteúdo da Lista de Atalhos. Por exemplo, um aplicativo de pacote pode querer fornecer um botão de barra de tarefas diferente para cada uma de suas sub-funcionalidades, com as janelas relacionadas a essa subfeatura agrupadas sob esse botão. Sem AppUserModelIDs no nível da janela, todas essas janelas seriam agrupadas no processo de main.
Os aplicativos também devem usar esse repositório de propriedades para definir essas propriedades de relançamento para que o sistema possa retornar o aplicativo para esse estado.
- System.AppUserModel.RelaunchCommand
- System.AppUserModel.RelaunchDisplayNameResource
- System.AppUserModel.RelaunchIconResource
Requisitos
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shellapi.h |
Biblioteca | Shell32.lib |
DLL | Shell32.dll (versão 6.1 ou posterior) |