程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 讓程序在前端顯示和最小化時在系統欄裡

讓程序在前端顯示和最小化時在系統欄裡

編輯:關於C++

程序縮成圖標! 

/*參數說明: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;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved