Вопрос

Я скомпилировал C++-код утилиты Trayicon в Visual Studio 2005 Express Edition, и всплывающие окна со значками в трее появились успешно, но позже я удалил свой брандмауэр, переключился на брандмауэр 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.

Фаран Шаббир

Это было полезно?

Решение

Хорошо, я понял это сам. nid.cbSize = sizeof( NOTIFYICONDATA_V2_SIZE ); должно быть nid.cbSize = NOTIFYICONDATA_V2_SIZE;

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top