程序缩成图标! /*参数说明:hWnd,不用多说了吧? uId,图标排在系统栏中的位置,设为0即可 hIcon,图标 s,鼠标移到图标上要显示的话 */ /*注意:你必须自定义一个窗口消息MYWM_ICON, #define MYWM_ICON (WM_APP+100) 在窗口循环中响应该消息: case MYWM_ICON: switch(lParam) { case WM_LBUTTONDOWN: case WM_RBUTTONDOWN: } 以响应鼠标在该程序图标上的击键动作。 如果你想让程序只以图标方式放在系统栏,可以定义窗口属性为WS_EX_TOOLWINDOW或POPUP之类 */ void PutToTaskBar(HWND hWnd,UINT uId,HICON hIcon,LPCTSTR s) { TrayMessage(hWnd, NIM_ADD, uId,NULL, s); TrayMessage(hWnd, NIM_MODIFY, uId,hIcon, s); }
BOOL TrayMessage(HWND hDlg, DWORD dwMessage, UINT uID, HICON hIcon, LPCTSTR lpszTip) { BOOL res; //char szVTip[64]; NOTIFYICONDATA tnd; tnd.cbSize = sizeof(NOTIFYICONDATA); tnd.hWnd = hDlg; tnd.uID = uID; tnd.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP; tnd.uCallbackMessage = MYWM_ICON; tnd.hIcon = hIcon; wsprintf(tnd.szTip,lpszTip); res = Shell_NotifyIcon(dwMessage, &tnd); if (hIcon) DestroyIcon(hIcon); return res; }  
|