У меня есть код, который выскакивает на подсказке. Это работает на Vista, но не на Windows XP. Это код до сих пор. Это работает на Vista, но не на XP. Я не могу понять почему. Эта версия не загружает значок, поэтому он будет отображаться пустым.
memset(&m_notifyData, 0, sizeof(NOTIFYICONDATA));
m_notifyData.cbSize = sizeof(NOTIFYICONDATA);
m_notifyData.uFlags = NIF_INFO | NIF_MESSAGE;
m_notifyData.hWnd = (HWND) m_preference_window->GetHWND();
m_notifyData.uID = 99;
m_notifyData.uTimeout = timeout;
m_notifyData.dwInfoFlags = NIIF_NOSOUND | NIIF_INFO;
wxStrncpy(m_notifyData.szInfo, message.c_str(), WXSIZEOF(m_notifyData.szInfo));
wxStrncpy(m_notifyData.szInfoTitle, title.c_str(),WXSIZEOF(m_notifyData.szInfoTitle));
Shell_NotifyIcon(NIM_ADD, &m_notifyData);
wxLogMessage("Balloon timeout is %i", timeout);
m_timer_balloon->Start(timeout, true);
когда время истекает, это выполняется:
Shell_NotifyIcon(NIM_DELETE, &m_notifyData);
Есть идеи, почему XP не показывает сообщение?