Я создаю программу, которая будет значком в области уведомлений в системном трее, и я не могу отобразить всплывающие подсказки.
Сообщения со значками уведомлений, такие как NIN_BALLOONSHOW, являютсявсе в порядке, но я получаю подсказку, которая выдвигается из правого края экрана вместо старых нужных мне шариков.Win10-1809, вероятно, перехватывает сообщения и меняет их поведение.Как вы можете сказать, я использую c ++.
Как я могу изменить это и вернуть старые воздушные шары?
Редактировать: я нашел способ сделать это в реестре,но мне нужен способ сделать это с помощью кода.
Дополнительные данные:
Вот фрагменты того, что я делаю:
// initial tooltip code
NOTIFYICONDATA nid;
nid.cbSize = sizeof(nid);
nid.hWnd = hwnd;
nid.uID = 1;
nid.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE | NIF_SHOWTIP;
nid.uVersion = NOTIFYICON_VERSION_4;
nid.uCallbackMessage = WMAPP_NOTIFYCALLBACK;
LoadIconMetric(g_hInst, MAKEINTRESOURCE(IDI_MYICON
LIM_SMALL, &nid.hIcon);
LoadString(g_hInst, IDS_MYTOOLTIP, nid.szTip, ARRAYSIZE(nid.szTip));
Shell_NotifyIcon(NIM_ADD, &nid);
Shell_NotifyIcon(NIM_SETVERSION, &nid);
Затем в кодекогда я хочу воздушные шары:
// balloon code
nid.uFlags = NIF_INFO;
nid.dwInfoFlags = NIIF_WARNING;
LoadString(g_hInst, IDS_BALLOON_TITLE, nid.szInfoTitle,
ARRAYSIZE(nid.szInfoTitle));
LoadString(g_hInst, IDS_BALLOON_TEXT, nid.szInfo, ARRAYSIZE(nid.szInfo));
LoadIconMetric(g_hInst, MAKEINTRESOURCE(IDI_BALLOON), LIM_LARGE,
&nid.hBalloonIcon);
Shell_NotifyIcon(NIM_MODIFY, &nd);