BOOL TrayIcon_ShellUpdateTrayIcon(void) { NOTIFYICONDATA nid; HICON hIcon = NULL; BOOL bRetVal; memset(&nid, 0, sizeof(NOTIFYICONDATA)); hIcon = TrayIcon_GetProcessorUsageIcon(); nid.cbSize = sizeof(NOTIFYICONDATA); nid.hWnd = hMainWnd; nid.uID = 0; nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; nid.uCallbackMessage = WM_ONTRAYICON; nid.hIcon = hIcon; wsprintf(nid.szTip, _T("CPU Usage: %d%%"), PerfDataGetProcessorUsage()); bRetVal = Shell_NotifyIcon(NIM_MODIFY, &nid); if (hIcon) DestroyIcon(hIcon); return bRetVal; }
BOOL TrayIcon_ShellUpdateTrayIcon(void) { NOTIFYICONDATAW nid; HICON hIcon = NULL; BOOL bRetVal; WCHAR wszCPU_Usage[255]; LoadStringW(hInst, IDS_STATUS_BAR_CPU_USAGE, wszCPU_Usage, sizeof(wszCPU_Usage)/sizeof(WCHAR)); memset(&nid, 0, sizeof(NOTIFYICONDATAW)); hIcon = TrayIcon_GetProcessorUsageIcon(); nid.cbSize = sizeof(NOTIFYICONDATAW); nid.hWnd = hMainWnd; nid.uID = 0; nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; nid.uCallbackMessage = WM_ONTRAYICON; nid.hIcon = hIcon; wsprintfW(nid.szTip, wszCPU_Usage, PerfDataGetProcessorUsage()); bRetVal = Shell_NotifyIconW(NIM_MODIFY, &nid); if (hIcon) DestroyIcon(hIcon); return bRetVal; }
BOOL TrayIcon_ShellUpdateTrayIcon(void) { NOTIFYICONDATAW nid; HICON hIcon = NULL; BOOL bRetVal; WCHAR wszCPU_Usage[] = {'C','P','U',' ','U','s','a','g','e',':',' ','%','d','%','%',0}; memset(&nid, 0, sizeof(NOTIFYICONDATAW)); hIcon = TrayIcon_GetProcessorUsageIcon(); nid.cbSize = sizeof(NOTIFYICONDATAW); nid.hWnd = hMainWnd; nid.uID = 0; nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; nid.uCallbackMessage = WM_ONTRAYICON; nid.hIcon = hIcon; wsprintfW(nid.szTip, wszCPU_Usage, PerfDataGetProcessorUsage()); bRetVal = Shell_NotifyIconW(NIM_MODIFY, &nid); if (hIcon) DestroyIcon(hIcon); return bRetVal; }