Как получить всплывающие подсказки со значками вместо уведомлений - PullRequest
0 голосов
/ 25 ноября 2018

Я создаю программу, которая будет значком в области уведомлений в системном трее, и я не могу отобразить всплывающие подсказки.

Сообщения со значками уведомлений, такие как 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);
...