NOTIFYICONDATA icondata;
char buf[128];
char buf1[64];
char buf2[256]; memset(&icondata,0,sizeof(icondata));
//将结构icondata的各域初始化为0
icondata.cbSize=sizeof(icondata);
icondata.hWnd=hWnd;
memset(buf,0,128);
strcpy_s(buf,"Sprit");
MultiByteToWideChar(CP_THREAD_ACP,MB_USEGLYPHCHARS,buf,strlen(buf),icondata.szTip,128); icondata.hIcon =hiTray;
icondata.uCallbackMessage=iconmessage;
icondata.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
Shell_NotifyIcon(NIM_ADD, &icondata); // 气球提示
icondata.cbSize=sizeof(icondata);
icondata.uFlags = NIF_INFO;
memset(buf1,0,64);
memset(buf2,0,256);
strcpy_s(buf1,"Sprit");
strcpy_s(buf2,"信息在这里");
MultiByteToWideChar(CP_THREAD_ACP,MB_USEGLYPHCHARS,buf1,strlen(buf1),icondata.szInfoTitle,64);
MultiByteToWideChar(CP_THREAD_ACP,MB_USEGLYPHCHARS,buf2,strlen(buf2),icondata.szInfo,256);
icondata.dwInfoFlags = NIIF_INFO;
icondata.uTimeout = 3000;
Shell_NotifyIcon(NIM_MODIFY, &icondata);代码如上,可以正常显示托盘图标,但是无法显示气球,请高手指教~
char buf[128];
char buf1[64];
char buf2[256]; memset(&icondata,0,sizeof(icondata));
//将结构icondata的各域初始化为0
icondata.cbSize=sizeof(icondata);
icondata.hWnd=hWnd;
memset(buf,0,128);
strcpy_s(buf,"Sprit");
MultiByteToWideChar(CP_THREAD_ACP,MB_USEGLYPHCHARS,buf,strlen(buf),icondata.szTip,128); icondata.hIcon =hiTray;
icondata.uCallbackMessage=iconmessage;
icondata.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
Shell_NotifyIcon(NIM_ADD, &icondata); // 气球提示
icondata.cbSize=sizeof(icondata);
icondata.uFlags = NIF_INFO;
memset(buf1,0,64);
memset(buf2,0,256);
strcpy_s(buf1,"Sprit");
strcpy_s(buf2,"信息在这里");
MultiByteToWideChar(CP_THREAD_ACP,MB_USEGLYPHCHARS,buf1,strlen(buf1),icondata.szInfoTitle,64);
MultiByteToWideChar(CP_THREAD_ACP,MB_USEGLYPHCHARS,buf2,strlen(buf2),icondata.szInfo,256);
icondata.dwInfoFlags = NIIF_INFO;
icondata.uTimeout = 3000;
Shell_NotifyIcon(NIM_MODIFY, &icondata);代码如上,可以正常显示托盘图标,但是无法显示气球,请高手指教~
icondata.uFlags = NIF_INFO;
icondata.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP|NIF_INFO;
memset(buf1,0,64);
memset(buf2,0,256);
strcpy_s(buf1,"Sprit");
strcpy_s(buf2,"信息在这里");
http://www.vckbase.com/document/viewdoc/?id=498
参考下
DWORD cbSize;
HWND hWnd;
UINT uID;
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
#if (NTDDI_VERSION < NTDDI_WIN2K)
WCHAR szTip[64];
#endif
#if (NTDDI_VERSION >= NTDDI_WIN2K)
WCHAR szTip[128];
DWORD dwState;
DWORD dwStateMask;
WCHAR szInfo[256];
union {
UINT uTimeout;
UINT uVersion; // used with NIM_SETVERSION, values 0, 3 and 4
} DUMMYUNIONNAME;
WCHAR szInfoTitle[64];
DWORD dwInfoFlags;
#endif
#if (NTDDI_VERSION >= NTDDI_WINXP)
GUID guidItem;
#endif
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
HICON hBalloonIcon;
#endif
} NOTIFYICONDATAW, *PNOTIFYICONDATAW;-------
#ifdef UNICODE
typedef NOTIFYICONDATAW NOTIFYICONDATA;
typedef PNOTIFYICONDATAW PNOTIFYICONDATA;
#else
typedef NOTIFYICONDATAA NOTIFYICONDATA;
typedef PNOTIFYICONDATAA PNOTIFYICONDATA;
#endif // UNICODE
使用气球提示代替普通的工具提示框。szInfo, uTimeout, szInfoTitle和dwInfoFlags成员起作用。你后面几个没实现啊
[email protected] 你把你的代码发给我看看,我用你上面的代码试过,是可以的
#define _WIN32_IE 0x0600
m_nData.cbSize=sizeof(NOTIFYICONDATA);
m_nData.hWnd=GetDlgItem(hwndDlg,IDC_USERNAME);
m_nData.uFlags=NIF_MESSAGE|NIF_TIP|NIF_INFO|NIF_ICON|NIS_SHAREDICON|NIIF_WARNING;
m_nData.uCallbackMessage=NULL;
m_nData.uID=NULL;
m_nData.hIcon=hIcon;
strcpy_s(m_nData.szInfo,255,"直接把执行程序拖入到文本框即可!");
strcpy_s(m_nData.szInfoTitle,63,"提示");
strcpy_s(m_nData.szTip,127,"直接把执行程序拖入到文本框即可!");
m_nData.uTimeout=2000;
m_nData.uVersion=NULL;
m_nData.dwStateMask=0;
http://www.phpat.com/disp-9-1584.html
将0x0600都改成0x0501 ,如下所示:#pragma once// 以下宏定义要求的最低平台。要求的最低平台
// 是具有运行应用程序所需功能的 Windows、Internet Explorer 等产品的
// 最早版本。通过在指定版本及更低版本的平台上启用所有可用的功能,宏可以
// 正常工作。// 如果必须要针对低于以下指定版本的平台,请修改下列定义。
// 有关不同平台对应值的最新信息,请参考 MSDN。
#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