SHNotificationUpdate
9/9/2008
Essa função atualiza aspectos de um pendente notificação.
Syntax
LRESULT SHNotificationUpdate(
DWORD grnumUpdateMask,
SHNOTIFICATIONDATA* pndNew
);
Parameters
grnumUpdateMask
[no] Bitfield que consiste em um ou mais sinalizadores que especificar quais membros do pndNew São atualizados. A seguinte tabela mostra os valores possíveis sinalizador.Sinalizador Descrição SHNUM_PRIORITY
O npPriority membro foi atualizado.
SHNUM_DURATION
O csDuration membro foi atualizado.
SHNUM_ICON
O hicon membro foi atualizado.
SHNUM_HTML
O pszHTML membro foi atualizado.
SHNUM_TITLE
O pszTitle membro foi atualizado.
SHNUM_SOFTKEYS
O skm Ou rgskn membro foi atualizado.
SHNUM_TODAYKEY
O pszTodaySK membro foi atualizado.
SHNUM_TODAYEXEC
O pszTodayExec membro foi atualizado.
SHNUM_SOFTKEYCMDS
O skm Ou rgskn membro e grfFlags membro foram atualizadas.
SHNUM_FLAGS
O grfFlags membro foi atualizado.
- pndNew
[no] Ponteiro para um SHNOTIFICATIONDATA estrutura que contém os novos dados ao local para a notificação. No mínimo, o dwId e CLSID Os membros dessa estrutura devem ser especificados para a notificação correta em ordem para que notificação sejam atualizados.
Return Value
Essa função retorna ERROR_SUCCESS quando bem-sucedido.
Para Windows Mobile a seguinte lista mostra os valores de retorno em falha, um Windows Mobile 6 Professional e Windows Mobile 6 Classic.
- ERROR_INVALID_PARAMETER
- ERROR_OUTOFMEMORY
- ERROR_DLL_INIT_FAILED
- ERROR_NO_MATCH
Para o valor de retorno em falha, para Windows Mobile Windows Mobile 6 Standard o seguinte.
- ERROR_INVALID_PARAMETER
Para obter uma descrição desses valores de erro, consulte Erros do SISTEMA - ordem alfabética.
Exemplo de código
O seguinte exemplo de código demonstra como usar SHNotificationUpdate.
Observação
Para fazer o seguinte exemplo de código mais fácil de ler, verificação de segurança e manipulação de erro não estão incluídos.Esta exemplo de código não deve ser usado em uma configuração versão a menos que ele foi modificado para incluí-las.
static const GUID CLSID_SHNAPI_Test = { 0x33765136, 0x8cb9, 0x449a, { 0xb0, 0x20, 0x43, 0xed, 0x40, 0xa, 0xb8, 0xfc } };
void SHNotificationExample()
{
// This code will add an SHNotification notification
SHNOTIFICATIONDATA sn = {0};
SHNOTIFICATIONDATA sn2 = {0};
sn.cbStruct = sizeof(sn);
sn.dwID = 1;
sn.npPriority = SHNP_INFORM;
sn.csDuration = 15;
sn.hicon = LoadIcon(g_hInstance, MAKEINTRESOURCE(IDI_SAMPLEICON));
sn.clsid = CLSID_SHNAPI_Test;
sn.grfFlags = 0;
sn.pszTitle = TEXT("Sample Notification");
sn.pszHTML = TEXT("<html><body>This is <b>sample html</b> in a notification!</body></html>");
sn.rgskn[0].pszTitle = TEXT("Dismiss");
sn.rgskn[0].skc.wpCmd = 100;
//Add the notification to the tray
SHNotificationAdd(&sn);
//Put the data from an existing notification into a second SHNOTIFICATIONDATA struct
sn2.cbStruct = sizeof(sn2);
//Update the title, HTML, icon, and softkeys of the notification
sn2.pszTitle = TEXT("Updated - Sample Notification");
sn2.pszHTML = TEXT("<html><body>This notification has been <b>updated!</b></body></html>");
sn2.hicon = LoadIcon(g_hInstance, MAKEINTRESOURCE(IDI_SAMPLEICON2));
sn2.rgskn[0].pszTitle = TEXT("Disabled");
sn2.rgskn[0].skc.wpCmd = 100;
sn2.rgskn[0].skc.grfFlags = NOTIF_SOFTKEY_FLAGS_DISABLED;
//Remove the notification from the tray
SHNotificationRemove(&CLSID_SHNAPI_Test, 1);
//Add a new notification that utilizes the MRE functionality
sn.cbStruct = sizeof(sn);
sn.dwID = 1;
sn.npPriority = SHNP_INFORM;
sn.csDuration = 15;
sn.hicon = LoadIcon(g_hInstance, MAKEINTRESOURCE(IDI_SAMPLEICON));
sn.clsid = CLSID_SHNAPI_Test;
sn.grfFlags = SHNF_STRAIGHTTOTRAY;
sn.pszTodaySK = TEXT("New Task");
sn.pszTodayExec = TEXT("\\windows\\tasks.exe");
//Add the notification to the tray
SHNotificationAdd(&sn);
//Remove the notification from the tray
SHNotificationRemove(&CLSID_SHNAPI_Test, 1);
}
Remarks
O grnumUpdateMask parâmetro contém um ou mais sinalizadores SHNUM_XXXX. Quando chamado SHNotificationUpdate, o chamador Define os bits no grnumUpdateMask e preenche o correspondente os membros pndNew. Os outros membros são ignorados.
Quando chamado SHNotificationUpdate, definir os bits no grnumUpdateMask preencher o correspondente e os membros pndNew. Os outros membros são ignorados.
Se SHNUM_SOFTKEYS for definida, isso significa que estão sendo atualizados softkeys devido a um novo HMENU in a SOFTKEYMENU estrutura apontada pelo skm (e SHNF_HASMENU é definida em grfFlags Em SHNOTIFICATIONDATA estrutura), ou novos títulos in a SOFTKEYNOTIFY estrutura apontada pelo rgskn.
Se SHNUM_SOFTKEYCMDS for definida, isso significa que o comando identificadores e comportamento sinalizadores estão sendo atualizados. Se SHNF_HASMENU for definida no grfFlags Em SHNOTIFICATION estrutura, a prgskc e csk Os membros do SOFTKEYMENU estrutura apontada pelo skm conterá dados novos. Se SHNF_HASMENU não é definida no grfFlags Em SHNOTIFICATION estrutura, a skc Os membros do SOFTKEYNOTIFY estrutura apontada pelo rgskn conterá dados novos.
Atualiza a seguinte pode estar habilitado usando SHNotificationUpdate função.
- Atualização um leve menu-Based chaves com leve menu-Based nova chaves
- Atualizar leve básico chaves com leve menu-Based chaves
- Atualizar leve básico chaves com novo leve básico chaves
Você não é possível atualização menu com leve chaves com leve básico chaves.
Requirements
Header | aygshell.h |
Library | aygshell.lib |
Windows Embedded CE | Windows Embedded CE 6.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
Shell Functions
SHNotificationRemove
SHNotificationAdd
SHNotificationGetData
SHNOTIFICATIONDATA