【案例】VC++中先显示托盘图标,再显示气球的案例
nid.cbSize=NOTIFYICONDATA_V2_SIZE;
nid.hWnd=m_hWnd;
nid.uID=IDR_MAINFRAME;
nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP|NIF_INFO;
//nid.uCallbackMessage=WM_SHOWTASK;
nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME)); //设置图标
wcscpy_s(nid.szTip,L"ddddddd"); //图标提示信息
//启动时不显示气球
lstrcpy(nid.szInfo,_T(""));
lstrcpy(nid.szInfoTitle,_T(""));
Shell_NotifyIcon(NIM_ADD,&nid);
然后添加一个函数,用来显示气球
void CMainFrame::ShowBalloon(CString title, CString content, unsigned int timeout, DWORD icon)
{
lstrcpy(nid.szInfo,content);
lstrcpy(nid.szInfoTitle,title);
nid.uTimeout=timeout;
nid.dwInfoFlags=icon;
Shell_NotifyIcon(NIM_MODIFY,&nid);
}
void CMainFrame::ShowBalloon(CString title, CString content)
{
ShowBalloon(title,content,5000,NIIF_INFO);
}
这样就可以先显示托盘图标,然后显示气球了
调用时直接用ShowBalloon(标题,内容)