⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第五章3.txt

📁 本书在复习C++基础知识后
💻 TXT
字号:
WINSHELLAPI BOOL WINAPI Shell_NotifyIcon(    
DWORD 				dwMessage, 	// 发送的消息,它可以是:
									// 	NIM_ADD 	向托盘添加图标
									// 	NIM_DELETE 	删除托盘中的图标
									//  	NIM_MODIFY 	修改托盘中的图标
    	PNOTIFYICONDATA 	pnid			// 指向NOTIFYICONDATA的结构指针
);
其中的NOTIFYICONDATA结构如下:
typedef struct _NOTIFYICONDATA {     
DWORD 		cbSize;     			// 结构的字节大小
HWND 		hWnd;     			// 接收通知消息的窗口句柄
UINT 		uID; 				// 自定义的图标ID号
UINT 		uFlags;     			// 成员变量标志,当为
									// 	NIF_ICON		表示hIcon成员变量有效
									//	NIF_MESSAGE	表示uCallbackMessage有效
//	NIF_TIP		表示szTip成员变量有效
UINT 		uCallbackMessage;     	// 自定义的通知消息标识号
HICON 		hIcon; 				// 要删除、添加或修改的图标句柄
char 		szTip[64];	 			// 图标的提示文本
} NOTIFYICONDATA, *PNOTIFYICONDATA; 
这样,当向托盘添加图标时就可以有代码过程(AddTaskBarIcon函数):
// 成功时返回TRUE,否则返回FALSE。
// 参数hwnd表示接收消息的窗口句柄,uID表示图标的标识,hicon表示要添加的图标句柄,
//  lpszTip表示提示文本
BOOL AddTaskBarIcon(HWND hwnd, UINT uID, HICON hicon, LPSTR lpszTip) 
{ 
    BOOL res; 
    NOTIFYICONDATA tnid; 
 
    tnid.cbSize 	= sizeof(NOTIFYICONDATA); 
    tnid.hWnd 	= hwnd; 
    tnid.uID 	= uID; 
    tnid.uFlags 	= NIF_MESSAGE | NIF_ICON | NIF_TIP; 
    tnid.uCallbackMessage = WM_ICON_NOTIFY; 
    tnid.hIcon = hicon; 
    if (lpszTip) 
        lstrcpyn(tnid.szTip, lpszTip, sizeof(tnid.szTip)); 
    else 
        tnid.szTip[0] = '\0'; 
 
    res = Shell_NotifyIcon(NIM_ADD, &tnid); 
    if (hicon) DestroyIcon(hicon); 
    return res; 
} 
而若要删除托盘的图标,则可有下列代码过程:
// 成功时返回TRUE,否则返回FALSE
// 参数hwnd表示窗口的句柄,uID表示要删除图标的标识
BOOL DeleteTaskBarIcon(HWND hwnd, UINT uID) 
{ 
    BOOL res; 
    NOTIFYICONDATA tnid; 
 
    tnid.cbSize 	= sizeof(NOTIFYICONDATA); 
    tnid.hWnd 	= hwnd; 
    tnid.uID 	= uID; 
         
    res = Shell_NotifyIcon(NIM_DELETE, &tnid); 
    return res; 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -