码迷,mamicode.com
首页 > 其他好文 > 详细

托盘气泡很长时间才能消失,uTimeout没起到作用的解决办法

时间:2015-05-15 01:26:05      阅读:536      评论:0      收藏:0      [点我收藏+]

标签:return   托盘   

#define WM_TIMER_HIDEBALLOON (WM_USER+103)


BOOL CUpdateDlg::ShowBalloonTip(LPCTSTR szMsg, LPCTSTR szTitle, UINT uTimeout, DWORD dwInfoFlags)

{
m_nid.cbSize=sizeof(NOTIFYICONDATA);
m_nid.uFlags = NIF_INFO;
m_nid.uTimeout = uTimeout;//10s~30s之间,不过好像无效,所以设置个Timer隐藏
m_nid.dwInfoFlags = dwInfoFlags;
strcpy(m_nid.szInfo,szMsg ? szMsg : _T(""));
strcpy(m_nid.szInfoTitle,szTitle ? szTitle : _T(""));
BOOL bRet=Shell_NotifyIcon(NIM_MODIFY, &m_nid);

//如果前面已经设置过这个Timer,则会重新开始计时
SetTimer(WM_TIMER_HIDEBALLOON,uTimeout,NULL);
return bRet;
}

void CUpdateDlg::OnTimer(UINT nIDEvent) 
{
// TODO: Add your message handler code here and/or call default
switch (nIDEvent)
{ 
   case WM_TIMER_HIDEBALLOON:
     m_nid.uFlags=NIF_INFO;
    strcpy(m_nid.szInfo,_T(""));
    strcpy(m_nid.szInfoTitle,_T(""));
    Shell_NotifyIcon(NIM_MODIFY, &m_nid);
    KillTimer(WM_TIMER_HIDEBALLOON);
    break;
   default :
    break;
}
CDialog::OnTimer(nIDEvent);
}


托盘气泡很长时间才能消失,uTimeout没起到作用的解决办法

标签:return   托盘   

原文地址:http://webrobot.blog.51cto.com/3808306/1651407

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!