不会有那么大吧!//-------------Add Icon and Respond----------- 1 初始化NOTIFYICONDATA结构 example: NOTIFYICONDATA mydata; mydata.cbSize = sizeof(NOTIFYICONDATA); mydata.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP; mydata.hIcon = LoadIcon(NULL,MAKEINTRESOURCE(ID_MYICON); mydata.uID = (UINT)ID_MYICON; mydata.hWnd = m_hWnd; mydata.uCallbackMessage = TRAY_MESSAGE;//设置响应消息 strcpy(mydata.szTip,"My First Tray");Now,We can add the icon the system taskbar Shell_NotifyIcon(NIM_ADD,&mydata);////添加图标2 //添加消息响应函数 After add the icon,then we ought to add the icon messge,because we set the notify message in the NOTIFYICONDATA struct,so we add the message function like this: void ****::OnTrayMessage(WPARAM wParam,LPARAM lParam) { UINT msgID = (UINT)lParam; switch(msgID) { case WM_LBUTTONDOWN: .....// break; case WM_RBUTTONDOWN: .....// break; case WM_LBUTTONDBCLICK: .....// break; case WM_RBUTTONDBCLICK: .....// break; case WM_MOUSEMOVE: .....// } }//-----------Delete Icon------- NOTIFYICONDATA icon; icon.cbSize = sizeof(NOTIFYICONDATA); icon.uID = (UINT)ID_MYDATA; icon.hWnd = m_hWnd;Shell_NotifyIcon(NIM_DELETE,&icon);
1
初始化NOTIFYICONDATA结构
example:
NOTIFYICONDATA mydata;
mydata.cbSize = sizeof(NOTIFYICONDATA);
mydata.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
mydata.hIcon = LoadIcon(NULL,MAKEINTRESOURCE(ID_MYICON);
mydata.uID = (UINT)ID_MYICON;
mydata.hWnd = m_hWnd;
mydata.uCallbackMessage = TRAY_MESSAGE;//设置响应消息
strcpy(mydata.szTip,"My First Tray");Now,We can add the icon the system taskbar
Shell_NotifyIcon(NIM_ADD,&mydata);////添加图标2
//添加消息响应函数
After add the icon,then we ought to add the icon messge,because we set the notify message in the NOTIFYICONDATA struct,so we add the message function like this:
void ****::OnTrayMessage(WPARAM wParam,LPARAM lParam)
{
UINT msgID = (UINT)lParam;
switch(msgID)
{
case WM_LBUTTONDOWN:
.....//
break;
case WM_RBUTTONDOWN:
.....//
break;
case WM_LBUTTONDBCLICK:
.....//
break;
case WM_RBUTTONDBCLICK:
.....//
break;
case WM_MOUSEMOVE:
.....//
}
}//-----------Delete Icon-------
NOTIFYICONDATA icon;
icon.cbSize = sizeof(NOTIFYICONDATA);
icon.uID = (UINT)ID_MYDATA;
icon.hWnd = m_hWnd;Shell_NotifyIcon(NIM_DELETE,&icon);