程序縮成圖標!
/*參數說明: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;
}