VC下添加和删除系统托盘图标,处理响应事件(Shell_NotifyIcon)
来源:互联网 发布:剑三商城数据导入非法 编辑:程序博客网 时间:2024/05/16 13:07
分步骤如下:
1,定义用户消息
#define WM_TRAY_NOTIFY (WM_USER + 8118)
2,添加托盘图标
NOTIFYICONDATA data;memset(&data, 0, sizeof(data));// the basic functions need only V1#ifdef NOTIFYICONDATA_V1_SIZE data.cbSize = NOTIFYICONDATA_V1_SIZE;#else data.cbSize = sizeof(data);#endifdata.hWnd = hWnd;data.uCallbackMessage = WM_TRAY_NOTIFY;data.uID = IDI_MAIN_ICON;data.hIcon = LoadIcon(g_hInstance, MAKEINTRESOURCE(IDI_MAIN_ICON) );data.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE ;wstring name = notify_config::GetResourceString( IDS_TIP_NAME );size_t tip_len = min(sizeof(data.szTip)-1, wcslen(name.c_str())*sizeof(wchar_t));memcpy(data.szTip, name.c_str(), tip_len);data.szTip[tip_len] = 0;Shell_NotifyIcon(NIM_ADD, &data);其中hWnd为窗体句柄,处理消息块则在此窗体的回调函数中捕捉消息.
3,消息处理
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){ switch (uMsg) { case WM_TRAY_NOTIFY: { switch( lParam ) { case WM_RBUTTONUP: //do something break; } } break; }...}
4,删除图标
根据NOTIFYICONDATA的结构
typedef struct _NOTIFYICONDATA { DWORD cbSize; HWND hWnd; UINT uID; UINT uFlags; UINT uCallbackMessage; HICON hIcon; TCHAR szTip[64]; DWORD dwState; DWORD dwStateMask; TCHAR szInfo[256]; union { UINT uTimeout; UINT uVersion; }; TCHAR szInfoTitle[64]; DWORD dwInfoFlags; GUID guidItem; HICON hBalloonIcon;} NOTIFYICONDATA, *PNOTIFYICONDATA;一个图标是有个别参数来标识的,即 hWnd+uID 或者 guidItem,在此就以上面的为例子,代码如下:
NOTIFYICONDATA data;memset(&data, 0, sizeof(data));data.hWnd = g_hMainWnd;data.uID = IDI_MAIN_ICON;Shell_NotifyIcon(NIM_DELETE, &data);
- VC下添加和删除系统托盘图标,处理响应事件(Shell_NotifyIcon)
- VC下添加和删除自己系统托盘图标,及托盘事件的响应
- VC下添加和删除系统托盘图标,及托盘事件的响应
- 用Win32API Shell_NotifyIcon进行系统托盘图标编程
- Shell_NotifyIcon(系统托盘图标API函数)详解
- Shell_NotifyIcon 系统托盘
- 系统托盘图标VC
- VC 任务栏 系统托盘图标
- VC实现系统托盘图标
- vC++ 系统托盘图标实现
- vc 刷新系统托盘图标
- Windows 7删除任务栏Shell_NotifyIcon添加过的垃圾图标显示配置信息
- 添加系统托盘图标
- 添加系统托盘图标
- MFC 添加系统托盘图标
- MFC添加系统托盘图标
- JavaFx 添加系统托盘图标
- 系统托盘Shell_NotifyIcon 函数
- 10046诊断事件——跟踪SQL语句!
- C语言多线程编程(windows下)【用pthread】
- 过滤所有HTML标记
- Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析
- 去 字符串中掉所有的空格
- VC下添加和删除系统托盘图标,处理响应事件(Shell_NotifyIcon)
- C++ 数组指针 和 指针
- C# 操作符
- 多线程
- C++ 虚函数的使用
- POJ-1679 The Unique MST
- C++编程必备
- 免费打工仔:一个完善的ActiveX Web控件教程
- 制作适合rtp/rtsp协议播放的流媒体mp4文件