给C++程序添加最小化托盘功能
#define WM_SHOWTASK (WM_USER + 1)
void CTestDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
//增加关闭时最小化到托盘的函数
if (nID == SC_CLOSE) //SC_MINIMIZE
{
ToTray();
return;
}
CDialog::OnSysCommand(nID, lParam);
}
}
BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
ON_MESSAGE(WM_SHOWTASK, OnShowTask)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//在托盘区添加图标 最小化到托盘函数
void ToTray(void);
void CTestDlg::ToTray(void)
{
NOTIFYICONDATA nid;
nid.cbSize = (DWORD)sizeof(NOTIFYICONDATA)