通知区域中的图标是一些进程的快捷方式,这些进程在计算机后台运行,这些进程不会具有自己的用户界面,比如我们常用的QQ和YY等都带有托盘图标。NotifyIcon 类提供了编写此功能的方法。在MFC里面实现NotifyIcon托盘比较简单,我们只要开启一个线程来处理这个托盘就可以了,好了具体我们上代码。
1.首先我们新建一个MFC程序,在对话框Dlg类中添加一个NOTIFYICONDATA类型对象
NOTIFYICONDATA m_nid;
2.在stdafx.h头文件中定义一个自定义消息
#define WM_SYSTEMTRAY WM_USER+1001
3.在Dlg类中中定义一个线程函数
static DWORD WINAPI NotifyIconProc(LPVOID lpParameter);//呵呵,有人会问了这里的线程函数为什么是静态的呢??大家先思考一下!
4.在Dlg的OnInitDialog()代码中输入以下代码:
HICON m_hicon = ::LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_STATEICON_4));//加载一个托盘图标
m_nid.cbSize = sizeof( NOTIFYICONDATA );
m_nid.hWnd = m_hWnd;