RE: system tray
- From
- Alex Fedotov (2:5030/456)
- To
- Dmitry Petrov ()
- Date
- 1996-05-31T11:31Z
- Area
- SU.WINDOWS.PROG
Hello Dmitry!
28 Apr 96, Dmitry Petrov writes to All:
DP> Расскажите, пожалуйста, как осуществить засовывание программы
DP> в system tray (для тех, кто не в курсе - это в вин95 область
DP> на таскбаре справа, где часы и т.п.). Надо, чтобы именно
DP> моя программа могла себя туда засунуть, типа как это делает
DP> системный агент. Если много объяснять, можно мылом.
Все что к этому относится обычно описывается в разделе Taskbar Notification
Area.
Вот пример добавления иконки (Programmers Guide to M$ Windows 95)
BOOL MyTaskBarAddIcon(HWND hwnd, UINT uID, HICON hIcon, LPSTR lpszTip)
{
BOOL Res;
NOTIFYICONDATA tnid;
tnid.cbSize = sizeof(NOTIFYICONDATA);
tnid.hWnd = hwnd;
tnid.uID = uID;
tnid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
tnid.uCallBackMessage = MYWM_NOTIFYICON;
tnid.hIcon = hIcon;
if (lpszTip)
lstrcpyn(tnid.szTip, lpszTip, sizeof(tnid.szTip));
else
tnid.szTip[0] = '\0';
Res = Shell_NotifyIcon(NIM_ADD, &tnid);
if (hIcon)
DestroyIcon(hIcon);
return Res;
}
95 посылает окну hWnd сообщение MYWM_NOTIFYICON когда событие от мыши происходит над соответствующей иконкой. Параметры MYWM_NOTIFYICON:
lParam = Mouse message (WM_MOUSEMOVE ... etc.)
wParam = uID иконки заданный при добавлении.
Для функции Shell_NotifyIcon поддержаны команды:
NIM_ADD
NIM_DELETE
NIM_MODIFY
Всяческих благ,
Alex.
--- GoldED 2.40+
* Origin: Vista BBS (812) 264-65-87 Time: 00:00-08:00 (2:5030/456)