3

我在 Visual Studio 2005 Express Edition 中编译了我的托盘图标实用程序 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。

法兰·沙比尔

4

1 回答 1

3

好的,我自己想通了。nid.cbSize = sizeof( NOTIFYICONDATA_V2_SIZE );应该nid.cbSize = NOTIFYICONDATA_V2_SIZE;

于 2009-09-09T16:29:37.793 回答