问题描述
		以前的一个VC++ MFC写的程序,极少数客户反映有时候托盘右键失灵,造成无法关闭程序。在了解详细原因后,发现其托盘气泡也显示不正常。有些是设置了注册表禁用了气泡显示。
		
				
		
		
				[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
				"EnableBalloonTips"=dword:00000000
		 
		
				
		
		所以造成了托盘消息不正常反馈。自然右键就失灵了。
		
				
		
		
				解决
		
		经过多次试验证,在显示完气泡后,要清空气泡结构信息缓存。
		
				
		
		
				//  设置气泡显示
				memset(m_Nid.szInfoTitle,"\0",64);
				memset(m_Nid.szInfo,"\0",256);
				wcsncpy_s(m_Nid.szInfo,(LPCTSTR)csInfo,64); 
				wcsncpy_s(m_Nid.szInfoTitle,(LPCTSTR)csTitle,256);
				Shell_NotifyIcon(NIM_MODIFY, &m_Nid); 
				
						
				
				// 这里一定要清空,不然右键菜将失灵
				memset(m_Nid.szInfoTitle,"\0",64);
				memset(m_Nid.szInfo,"\0",256);
				wcscpy_s(m_Nid.szInfo,_T("")); 
				wcscpy_s(m_Nid.szInfoTitle,_T(""));
				Shell_NotifyIcon(NIM_MODIFY, &m_Nid);