API实现添加系统托盘图标及其菜单

添加系统托盘图标
下面用winapi 实现


#define IDI_ICON 600                                //此处为图标ID,用于标识此图标

#define WM_NOTIFYICON WM_USER+5 //此处定义消息值

NOTIFYICONDATA nd;
 nd.cbSize = sizeof (NOTIFYICONDATA);
 nd.hWnd = hwnd; //窗体的句柄
 nd.uID = IDI_ICON;
 nd.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
 nd.uCallbackMessage = WM_NOTIFYICON;
 nd.hIcon = hicon; //些处为图标句柄
 strcpy(nd.szTip, "图标提示");
 
 Shell_NotifyIcon(NIM_ADD, &nd);//添加图标用 NIM_ADD,

//修改图标类型用NIM_MODIFY,删除图标用NIM_DELETE


 

接收消息可以在消息回调函数中加入

case WM_NOTIFYICON:
   if ((wParam == IDI_ICON)&&(lParam == WM_RBUTTONDOWN)){
    //显示菜单
    showmenu(hDlg,LOWORD(wParam),HIWORD(wParam));
    
   }
   return TRUE;
   break;  


 

显示菜单部分

SetForegroundWindow(hwnd); //一定要加上这一句,hwnd 为社会分配句柄
 TrackPopupMenu(htmenu,0,pos.x,pos.y,0,hwnd,0);//htmenu 为HMENU(菜单句柄)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值