上次说修改键值来达到删除Notification的目的,但可能会产生副作用,比方说Today Screen里面的计数可能会因为这个注册表的改动而显示了错误的值。
[HKEY_CURRENT_USER/System/State/Messages/sms/Unread]
"Count"=0
后来在网上搜了一下,codeproject上有个人是通过SHNotificationRemove实现的,我修改了一下,sample code如下:
- void RemoveNewMessageNotification()
- {
- SHNOTIFICATIONDATA shnd;
- CLSID clsid;
- LRESULT result;
- DWORD dwID = 0;
- if (0 == CLSIDFromString(TEXT("{A877D65B-239C-47a7-9304-0D347F580408}"), &clsid))
- {
- memset(&shnd, 0, sizeof(shnd));