SHNOTIFICATIONDATA
9/9/2008
Essa estrutura contém dados notificação ícone.
Syntax
typedef struct _SHNOTIFICATIONDATA{
DWORD cbStruct;
DWORD dwID;
SHNP npPriority;
DWORD csDuration;
HICON hicon;
DWORD grfFlags;
CLSID clsid;
HWND hwndSink;
LPCTSTR pszHTML;
LPCTSTR pszTitle;
LPARAM lParam;
union
{
SOFTKEYMENU skm;
SOFTKEYNOTIFY rgskn[NOTIF_NUM_SOFTKEYS];
}
LPCTSTR pszTodaySK;
LPCTSTR pszTodayExec;
} SHNOTIFICATIONDATA;
Os membros
For All Platforms:
- cbStruct
Tamanho da estrutura, em bytes, usadas para verificação e versionamento.
- dwID
Identificador para essa notificação específica.
- npPriority
A prioridade para a notificação, fornecida pelo SHNP enumeração.
- csDuration
Duração da notificação. O uso depende de como o valor de npPriority. Tempo está em segundos. Um valor de-1 indica infinita duração; Isto é, a notificação permanecerá até que o usuário deixe de usar, de exemplo, com exigido pressionamentos de teclas entrada do usuário.
- hicon
Identificador para o ícone para a notificação.
grfFlags
Determina quais os membros de estrutura são válido ou ativo. A seguinte tabela mostra os valores possíveis sinalizador.Sinalizador Descrição SHNF_ALERTONUPDATE
Alertas físicos são repetidos quando há uma atualização para a notificação.
SHNF_CRITICAL
O título da notificação e borda são realçado.
SHNF_DISPLAYON
A exibir será forçado a ativar para a notificação.
SHNF_FORCEMESSAGE
A notificação é forçada para exibir, regardless of as configurações.
SHNF_HASMENU
O softkey barra é criada de uma HMENU passado skm estrutura.
SHNF_SHNF_SPINNERS
A notificação pode ser empilhada.
SHNF_SILENT
A notificação será forçada a ser silencioso e não Vibrar, independentemente de configurações.
SHNF_STRAIGHTTOTRAY
A notificação não é exibida quando ele é adicionado inicialmente. O ícone irá exibir para csDuration segundos e será, em seguida, vá direto para a bandeja. O usuário pode exibição o ícone para ver a notificação abrindo a bandeja.
SHNF_TITLETIME
O atual tempo é exibido com o título notificação.
SHNF_WANTVKTTALK
- CLSID
- hwndSink
Identificador para a janela para receber opções de comando, descartar e SO on.
- pszHTML
De conteúdo HTML para a bolha notificação.
- pszTitle
Seqüência de caracteres que contém o opcional Título para notificação bolha.
lParam
Parâmetro User-defined.skm
SOFTKEYMENU estrutura que define um menu para o softkey barra para a notificação. O grfFlags membro deve ser definido como SHNF_HASMENU se essa união tipo é usado.
- rgskn
SOFTKEYNOTIFY estrutura que define um menu para o softkey barra para a notificação e define dois softkeys.
- pszTodaySK
Seqüência de caracteres que contém o texto para exibir na Tela do dia para o softkey SK1. Se este seqüência de caracteres for definida como NULL, o texto usar como padrão "notificação" será exibida.
- pszTodayExec
Ponteiro para o arquivo executável que irá executar quando o softkey SK1 é pressionado. Se esse ponteiro for definido como NULL, o toast será exibida.
Remarks
Para Mobile Windows
Para Windows Mobile se o valor de grfFlags membro é definido como SHNF_WANTVKTTALK e a janela coletor é um diálogo, ele deve usar DWL_MSGRESULT para retornar o valor.
O seguinte codificar pode ser adicionado da janela de coletor WndProc função ao identificador de mensagem encaminhada.
case WM_NOTIFY:
switch(wParam)
{
case my_dwID: // the dwID passed into SHNOTIFICATIONDATA when calling SHNotificationAdd
{
NMSHN* pnmshn = (NMSHN*)lParam;
if (pnmshn->hdr.code == SHNN_HOTKEY)
{
if (HIWORD(pnmshn->lParam) == VK_TTALK)
{
//insert code here to handle VK_TTALK
//only need to call SetWindowLong if the sinkwindow is a dialog
SetWindowLong(hWnd, DWL_MSGRESULT, 1);
//return TRUE to inform the Shell that the button was handled
return TRUE;
}
}
break;
}
}
break;
O aplicativo chamado proprietária pszHTML, pszTitle, pszTodaySK, pszTodayExec, e skm Ou rskn Deve também livre de memória quando ela retorna. O seguinte exemplo de código ilustra este concepção.
void FreeNotificationData(SHNOTIFICATIONDATA * pnd)
{
LocalFree((HLOCAL)pnd->pszHTML);
LocalFree((HLOCAL)pnd->pszTitle);
LocalFree((HLOCAL)pnd->pszTodaySK);
LocalFree((HLOCAL)pnd->pszTodayExec);
if (pnd->grfFlags & SHNF_HASMENU)
{
LocalFree((HLOCAL)pnd->skm.prgskc);
}
else
{
LocalFree((HLOCAL)pnd->rgskn[0].pszTitle);
LocalFree((HLOCAL)pnd->rgskn[1].pszTitle);
}
}
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 |