#pragma once #include <winsdkver.h> // 包括 SDKDDKVer.h 将定义最高版本的可用 Windows 平台。 // 任务栏气泡要修改这个文件 // 如果要为以前的 Windows 平台生成应用程序,请包括 WinSDKVer.h,并将 // WIN32_WINNT 宏设置为要支持的平台,然后再包括 SDKDDKVer.h。 #ifndef WINVER // 指定要求的最低平台是 Windows Vista。 #define WINVER 0x0501 // 将此值更改为相应的值,以适用于 Windows 的其他版本。 #endif #ifndef _WIN32_WINNT // 指定要求的最低平台是 Windows Vista。 #define _WIN32_WINNT 0x0501 // 将此值更改为相应的值,以适用于 Windows 的其他版本。 #endif #ifndef _WIN32_WINDOWS // 指定要求的最低平台是 Windows 98。 #define _WIN32_WINDOWS 0x0410 // 将此值更改为适当的值,以适用于 Windows Me 或更高版本。 #endif #ifndef _WIN32_IE // 指定要求的最低平台是 Internet Explorer 7.0。 #define _WIN32_IE 0x0700 // 将此值更改为相应的值,以适用于 IE 的其他版本。 #endif #include <SDKDDKVer.h>
然后创建:
通知栏显示图标
BOOL setupTrayIcon() { m_nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA); m_nid.hWnd=this->m_hWnd; m_nid.uID=IDR_MAINFRAME; m_nid.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP; //m_nid.uCallbackMessage=WM_SHOWTASK;//自定义的消息名称,注意:这里的消息是用户自定义消息 m_nid.hIcon=m_hIcon; strcpy_s(m_nid.szTip,128,"name"); SetWindowLong(m_hWnd,GWL_EXSTYLE,WS_EX_TOOLWINDOW); return Shell_NotifyIcon(NIM_ADD,&m_nid);//在托盘区添加图标 }提示气泡
BOOL showToolTip(LPCTSTR szMsg,LPCTSTR szTitle) { m_nid.uFlags = NIF_INFO; m_nid.uID=IDR_MAINFRAME; m_nid.dwInfoFlags=1; strcpy_s(m_nid.szInfoTitle,64,szTitle); CString str; strcpy_s(m_nid.szInfo,256,szMsg); return Shell_NotifyIcon(NIM_MODIFY,&m_nid); }即可