ÄãµÄλÖãºÈí¼þ> Éè¼ÆÔÚÏß> ÍøÒ³ÌÕ°É> ¼¼Êõƽ̨> HTMLѧϰ>
¿ØÖƺͲÙ×Ý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ÖÐʵÏÖ¡£


¡¾·¢±íÆÀÂÛ¡¿¡¾¹Ø±Õ´°¿Ú¡¿