Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include "shellapi.h"
- LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
- int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
- {
- MSG msg;
- WNDCLASS wc;
- memset(&wc, 0, sizeof(wc));
- wc.lpfnWndProc = WndProc;
- wc.hInstance = hInstance;
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
- wc.lpszClassName = "sysTrayTest";
- RegisterClass(&wc);
- HWND hWnd = CreateWindow("sysTrayTest", "",
- WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT, 0, 500, 500,
- NULL, NULL, hInstance, NULL);
- if (hWnd)
- {
- ShowWindow(hWnd, nCmdShow);
- while (GetMessage(&msg, NULL, 0, 0))
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- }
- return 0;
- }
- LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
- {
- switch (message)
- {
- case WM_DESTROY:
- {
- NOTIFYICONDATA nid;
- memset(&nid, 0, sizeof(NOTIFYICONDATA));
- nid.cbSize = sizeof(NOTIFYICONDATA);
- nid.hWnd = hWnd;
- nid.uID = 1;
- Shell_NotifyIcon(NIM_DELETE, &nid);
- PostQuitMessage(0);
- }
- break;
- case WM_CREATE:
- {
- NOTIFYICONDATA nid;
- memset(&nid, 0, sizeof(NOTIFYICONDATA));
- nid.cbSize = sizeof(NOTIFYICONDATA);
- nid.hWnd = hWnd;
- nid.uID = 1;
- nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
- nid.uCallbackMessage = WM_USER + 200;
- nid.hIcon = LoadIcon(NULL, IDI_INFORMATION);
- lstrcpy (nid.szTip, "Test Tip");
- Shell_NotifyIcon(NIM_ADD, &nid);
- }
- break;
- case WM_LBUTTONDOWN:
- {
- NOTIFYICONDATA nid;
- memset(&nid, 0, sizeof(NOTIFYICONDATA));
- nid.cbSize = sizeof(NOTIFYICONDATA);
- nid.hWnd = hWnd;
- nid.uID = 1;
- nid.uFlags = NIF_INFO;
- lstrcpy(nid.szInfo, "Test balloon tip");
- lstrcpy(nid.szInfoTitle, "Test Title");
- nid.dwInfoFlags = NIIF_INFO;
- nid.uTimeout = 15000;
- Shell_NotifyIcon(NIM_MODIFY, &nid);
- }
- break;
- default:
- return DefWindowProc(hWnd, message, wParam, lParam);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement