C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Как добавить свою программу в трей / Система / Visual C++

Как добавить свою программу в трей
A: (SUnteXx)
Оригинальная ссылка: нету

#define MYWM_NOTIFYICON (WM_USER + 1)
// Описываем сообщение, которое будет посылаться при взаимодействии юзера с нашей иконкой в систрее
Создаем (глобальную) функцию
BOOL TrayMessage (HWND hDlg, DWORD dwMessage, UINT uID, HICON hIcon, PSTR pszTip) 
// systray icon 
{ 
    BOOL res; 

    NOTIFYICONDATA tnd; 

    tnd.cbSize = sizeof(NOTIFYICONDATA); 
    tnd.hWnd = hDlg; 
    tnd.uID = uID; 

    tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP; 
    tnd.uCallbackMessage = MYWM_NOTIFYICON; // Сообщение, которое пошлется при всяких там кликах на иконке... 
    tnd.hIcon = hIcon; 

    if (pszTip) 
    { 
        lstrcpyn(tnd.szTip, pszTip, sizeof(tnd.szTip)); 
    } 
    else 
    { 
        tnd.szTip[0] = '\0'; 
    } 

    res = Shell_NotifyIcon(dwMessage, &tnd); 

    return res; 
}
А потом по ходу дела (то есть проги) делаем следующее:

Добавляем иконку:
TrayMessage(hWnd, NIM_ADD, 0, hIcon, szText);
Изменяем иконку:
TrayMessage(hWnd, NIM_MODIFY, 0, hIcon, szText);
Удаляем иконку:
TrayMessage(hWnd, NIM_DELETE, 0, 0, 0); 
Параметры функции TrayMessage:
HWND hWnd; // указатель на окно 
HICON hIcon; // указатель на иконку 
char *szText; // указатель на текст для подсказки 
Теперь ловим сообщение MYWM_NOTIFYICON, где lParam будет событием (WM_LBUTTONDOWN, к примеру...)