SHNotificationRemove
This function removes a notification icon.
LRESULT SHNotificationRemove(
const CLSID* pclsid
DWORD dwID
);
Parameters
- pclsid
[in] Class identifier of the notification icon to be removed. - dwID
[in] Specifies the unique identifier of the notification icon to remove. Do not set the value of this parameter to 0; that option is not implemented. If the value of this parameter is set to 0, the function will return an ERROR_INVALID_PARAMETER error.
Return Values
This function returns ERROR_SUCCESS when successful.
The following list shows the return values on failure, for a Windows Mobile-based Pocket PC.
- ERROR_INVALID_PARAMETER
- ERROR_OUTOFMEMORY
- ERROR_DLL_INIT_FAILED
- ERROR_NOT_FOUND
- ERROR_NO_MATCH
The following list shows the return values on failure, for a Windows Mobile-based Smartphone.
- ERROR_INVALID_PARAMETER
For a description of these error values, see System Errors - Alphabetical Order.
Code Example
The following code example demonstrates how to use SHNotificationRemove.
Note To make the following code example easier to read, security checking and error handling are not included. This code example should not be used in a release configuration unless it has been modified to include them.
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 notificaion (PocketPC only)
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);
SHNotificationGetData(&CLSID_SHNAPI_Test, 1, &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;
SHNotificationUpdate(SHNUM_TITLE | SHNUM_HTML | SHNUM_ICON | SHNUM_SOFTKEYCMDS | SHNUM_SOFTKEYS, &sn2);
//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);
}
Requirements
OS Versions: Windows CE 5.01 and later
Header: aygshell.h
Link Library: aygshell.lib
See Also
SHNotificationAdd | SHNotificationUpdate | SHNotificationGetData | SHNOTIFICATIONDATA
Send Feedback on this topic to the authors