添加系统托盘图标
下面用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(菜单句柄)