¿ØÖƺͲÙ×ÝWin95TaskBar(1) 2000-08-15 00:00:00¡¤
-¡¤- ù±¾¸ÅÄ
¡¡¡¡Windows 95 Task Barʵ¼ÊÉÏÊÇÒ»¸ö±ê×¼¿ØÖÆ¡£¿ØÖƺͲÙ×ÝËü¾ÍÊÇÓëËüÓÃÏûϢͨÐÅ£¬ÕâÓëÆäËûµÄ±ê×¼¿ØÖÆÒ»Ñù¡£
Ò». ÏÂÃæÊÇÓйصĽṹÓ뺯Êý:
1.½öÓеÄÒ»¸ö½á¹¹£º
// (From SHELLAPI.H)
typedef struct _NOTIFYICONDATA
{
DWORD cbSize; // size of struct, you must set
HWND hWnd; // HWND sending notification£¬ÊÇÄã³ÌÐòÖÐ
//½«Òª½ÓÊÕTask BarÏûÏ¢µÄ´°¿Ú
UINT uID; // ID of icon (callback WPARAM)
//Ò»¸ö³ÌÐò¿ÉÒÔÓжà¸öIcon£¬´Ë²ÎÊýÓÃ×÷±êʶ
//Ò»°ãÓÃIconµÄ×ÊÔ´ID
UINT uFlags; //µÍÈýλÓÐÒâÒ壬0--7,ÈçÏ£º
//µÚһλ//#define NIF_MESSAGE 0x1 // uCallbackMessage²ÎÊýÓÐЧ
//µÚ¶þλ//#define NIF_ICON 0x2 // hIcon is valid²ÎÊýÓÐЧ
//µÚÈýλ//#define NIF_TIP 0x4 // szTip is valid²ÎÊýÓÐЧ
UINT uCallbackMessage; // sent to your wndproc
//WM_USER+? Ò»¶¨²»ÒªÓëÒÔÓеÄÏûÏ¢ÏàÖØ¡£
HICON hIcon; // handle of icon
//ÏÔʾÔÚTaskBarÉϵÄIconµÄ¾ä±ú,¿ÉÒÔΪϵͳµÄ£ºIDI_HAND
CHAR szTip[64]; // Tooltip text
} NOTIFYICONDATA;
2.ÓëTask BarͨÐŵĺ¯ÊýÖ»ÓÐÒ»¸ö£º
Shell_NotifyIcon (UINT message, NOTIFYICONDATA &tnd);
message¿ÉÒÔÈ¡ÒÔÏÂÖµ£º
NIM_ADD Adds an icon to the taskbar notification area
NIM_MODIFY Modifies an icon in the taskbar notification area
NIM_DELETE Deletes an icon from the taskbar notification area
¶þ.Ò»°ã²½Öè
Ò»°ã½«NOTIFYICONDATA utd µÄcbsize,hWnd,uID,
UFlags(Ò»°ãΪ7,±íʾÈý¸ö²ÎÊý¾ùÓÐЧ),uCallbackMessage,hIcon,szTip.
È»ºóµ÷ÓÃ:Shell_NotifyIcon (NIM_ADD,&utd);
ÈôҪʵÏÖIcon¶¯»,Ôò¿ÉÒÔÓò»Í¬µÄhIconµ÷ÓÃ
Shell_NotifyIcon (NIM_MODIFY,&utd);
³ÌÐòÖÕֹʱµ÷ÓÃ:
Shell_NotifyIcon (NIM_DELETE,&utd);
Èý.³ÌÐòÈçºÎÏìÓ¦Task BarµÄ֪ͨµ±Óû§ÔÚÄãµÄIconÉÏÒÆ¶¯,µã»÷,µÈµÈ¶¯×÷ʱ£¬Task Bar»áÏòÄãµÄ³ÌÐò·¢ËÍÈçϵÄÏûÏ¢£ br>
messageID =uCallbackMessage
wParam=uID
lParam =mouse event (Èç:WM_LBUTTONDOWN)
¡¡¡¡ÄãµÄ³ÌÐòµ±ÊÕµ½uCallbackMessageÏûϢʱ£¬ÌáÈ¡³öuIDºÍmouse event, ¾Í¿ÉÒÔÖ´ÐÐÏà¹ØµÄÏìÓ¦¡£ºÜ¼òµ¥À²¡£
ÀûÓÃÉÏÃæµÄ֪ʶ£¬¾Í²»ÄÑÔÚC,VB,VCÖÐʵÏÖ¡£
|