VC 最小化到托盘程序的编写 在实际操作电脑的过程中,我们常常可以看到一些应用程序可以最小化到桌面右下角的托盘中显示,如一些杀毒软件等开机就显示在托盘中,或是我们常用的QQ 等聊天工具,都可以最小化在托盘中,如图
图 应用程序的托盘显示 在图-1 中,可以看到第一个服务器样式的图标,那个就是我编写的服务器程序最小化在托盘中的显示
其实很简单,只要在程序中加几行代码就可以了
我主要就MFC 中基于Dialog 对话框的程序作一下简单的介绍
以下是基本步骤: 1、首先建立一个基于对话框的MFC 程序; 2、在资源中的Icon 中导入一个自己喜欢的图标,ID 命名为IDR_MAINFRAME,将先前的IDR_MAINFRAME 的图标删除掉; 3、在自己的Dialog 头文件中定义一个变量 NOTIFYICONDATA m_nid,关于该结构体的具体信息可以查阅 MSDN; 4、添加消息响应函数 OnInitDialog(),并在该函数中添加以下代码,这样程序一启动,就在托盘中显示出了自己应用程序的图标
//---------------------------托盘显示---------------------------------// m_nid
cbSize = (DWORD)sizeof(NOTIFYICONDATA); m_nid
hWnd = this->m_hWnd; m_nid
uID = IDR_MAINFRAME; m_nid
uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP ; m_nid
uCallbackMessage = WM_SHOWTASK; // 自定义的消息名称 m_nid
hIcon = LoadIcon (AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFR