BOOL ShowPrintJobBalloon() { // Display a balloon message for a print job with a custom icon NOTIFYICONDATA nid = {sizeof(nid)}; nid.uFlags = NIF_INFO | NIF_GUID; nid.guidItem = __uuidof(PrinterIcon); nid.dwInfoFlags = NIIF_USER | NIIF_LARGE_ICON; LoadString(g_hInst, IDS_PRINTJOB_TITLE, nid.szInfoTitle, ARRAYSIZE(nid.szInfoTitle)); LoadString(g_hInst, IDS_PRINTJOB_TEXT, nid.szInfo, ARRAYSIZE(nid.szInfo)); LoadIconMetric(g_hInst, MAKEINTRESOURCE(IDI_NOTIFICATIONICON), LIM_LARGE, &nid.hBalloonIcon); return Shell_NotifyIcon(NIM_MODIFY, &nid); }
BOOL CIWinSyncDlg::ShowStatusBalloon(UINT uID) { // Display a balloon message for a sync job with a custom icon NOTIFYICONDATA nid = {sizeof(nid)}; nid.uFlags = NIF_INFO | NIF_GUID; nid.guidItem = __uuidof(CIWinSyncDlg); nid.dwInfoFlags = NIIF_USER | NIIF_LARGE_ICON; LoadString(g_hInst, IDS_STATUS_TITLE, nid.szInfoTitle, ARRAYSIZE(nid.szInfoTitle)); LoadString(g_hInst, uID, nid.szInfo, ARRAYSIZE(nid.szInfo)); LoadIconMetric(g_hInst, MAKEINTRESOURCE(IDR_MAINFRAME), LIM_LARGE, &nid.hBalloonIcon); return Shell_NotifyIcon(NIM_MODIFY, &nid); }
BOOL AddNotificationIcon(HWND hwnd) { NOTIFYICONDATA nid = {sizeof(nid)}; nid.hWnd = hwnd; // add the icon, setting the icon, tooltip, and callback message. // the icon will be identified with the GUID nid.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE | NIF_SHOWTIP | NIF_GUID; nid.guidItem = __uuidof(PrinterIcon); nid.uCallbackMessage = WMAPP_NOTIFYCALLBACK; LoadIconMetric(g_hInst, MAKEINTRESOURCE(IDI_NOTIFICATIONICON), LIM_SMALL, &nid.hIcon); LoadString(g_hInst, IDS_TOOLTIP, nid.szTip, ARRAYSIZE(nid.szTip)); Shell_NotifyIcon(NIM_ADD, &nid); // NOTIFYICON_VERSION_4 is prefered nid.uVersion = NOTIFYICON_VERSION_4; return Shell_NotifyIcon(NIM_SETVERSION, &nid); }