添加托盘功能- 蛋定,蛋定- 51CTO技术博客

//... notifyIconData.uID用于管理图标(日后修改或删除图标就靠他了,通常使用图标句柄对应的ID即可
nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP ; 
nid.uCallbackMessage=UM_SHOWTASK;    //自定义的消息名称,对托盘图标进行鼠标操作就会发送此消息。
nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME)); 
//... notifyIconData.hIcon图标资源句柄,描述图标如何被绘制
strcpy(nid.szTip,"事例托盘图标");    //信息提示条为“事例托盘图标” 
Shell_NotifyIcon(NIM_ADD,&nid); //在托盘区添加图标
LRESULT CXXXDlg::OnShowTask(WPARAM wParam,LPARAM lParam) 
//wParam接收的是图标的ID,而lParam接收的是鼠标的行为 

if(wParam!=IDR_MAINFRAME) 
return 1; 
switch(lParam) 

case WM_RBUTTONUP://右键起来时弹出快捷菜单

NOTIFYICONDATA nid; 
nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA); 
nid.hWnd=this->m_hWnd; 
nid.uID=IDR_MAINFRAME;
  CMenu pMenu;
  pMenu.LoadMenu(IDR_MENU1);     //加载菜单
  CMenu* pPopup = pMenu.GetSubMenu(0);
  ::SetMenuDefaultItem(pPopup->m_hMenu,0,TRUE); 
 CPoint mouse; 
 GetCursorPos(&mouse);         
    ::SetForegroundWindow(nid.hWnd);           
    ::TrackPopupMenu(pPopup->m_hMenu,0,mouse.x,mouse.y,0,nid.hWnd,NULL); 
break;




郑重声明:资讯 【添加托盘功能- 蛋定,蛋定- 51CTO技术博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——