我在Visual Studio 2005 Express Edition中编译了trayicon实用程序c++代码,并且成功显示了托盘图标气球,但后来删除了防火墙,打开了Windows防火墙,现在使用的是另一种防火墙软件。现在我运行同一个项目,气球成功显示,但是当我重建它时,我再也看不到气球了。我的Shell_NotifyIcon方法仍然返回true。

这是代码:

nid.cbSize              = sizeof( NOTIFYICONDATA_V2_SIZE ); // i've tested NOTIFYICONDATA   //and nid as well

nid.hWnd                = hWnd;
nid.uID                 = uID;
nid.uFlags              = NIF_ICON | NIF_MESSAGE | NIF_TIP|NIF_INFO;
nid.dwInfoFlags         = 0x00000004;
strcpy(nid.szInfoTitle  , balloonTitle);
strcpy(nid.szInfo       , balloonMsg);
int ret = Shell_NotifyIcon( NIM_MODIFY, &nid );

有人可以建议问题出在哪里吗?似乎与操作系统有关,我的操作系统是XP,甚至将“EnableBalloonTips”修改为1。

法兰·沙伯(Faran Shabbir)

最佳答案

好吧,我自己弄清楚了。 nid.cbSize = sizeof( NOTIFYICONDATA_V2_SIZE );应该是nid.cbSize = NOTIFYICONDATA_V2_SIZE;

关于c++ - TrayIcon气球不显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1244231/

10-13 04:59