Compartilhar via


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.

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)

Confira também

IDs do modelo de usuário do aplicativo (AppUserModelIDs)