Да и ещё.Функцию вытягивания иконки и восстановления окна я то знаю...вот кстати если кому интересно:
CODE
BOOL UnflipFromTray(HWND hWnd, BOOL bRestore)
{
//идентифицируем иконку ужо созданную
NOTIFYICONDATA nid; memset(&nid, 0, sizeof(nid)); nid.cbSize = sizeof(nid);
nid.hWnd = hWnd;
nid.uID = 1234;
// удаляемс
BOOL ok = Shell_NotifyIcon(NIM_DELETE, &nid);
if(!bRestore) return ok;
// восстанавливаем окно
ShowWindow(hWnd, SW_SHOW);
ShowWindow(hWnd, SW_RESTORE);
return ok;
}
{
//идентифицируем иконку ужо созданную
NOTIFYICONDATA nid; memset(&nid, 0, sizeof(nid)); nid.cbSize = sizeof(nid);
nid.hWnd = hWnd;
nid.uID = 1234;
// удаляемс
BOOL ok = Shell_NotifyIcon(NIM_DELETE, &nid);
if(!bRestore) return ok;
// восстанавливаем окно
ShowWindow(hWnd, SW_SHOW);
ShowWindow(hWnd, SW_RESTORE);
return ok;
}
Но незнаю, в каком эвенте её использовать если программа УЖЕ свернута.Да и ещё дополнение...Вот код сворачивания окна в трей:
CODE
BOOL FlipToTray(HWND hWnd,HICON hIcon,BOOL Minimize)
{
NOTIFYICONDATA nid; memset(&nid, 0, sizeof(nid)); nid.cbSize = sizeof(nid);
nid.hWnd = m_hWnd;
nid.uID = 1234;
nid.uCallbackMessage = WM_APP+1234;
nid.hIcon = m_hIcon;
nid.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
// показываем ее
BOOL ok = Shell_NotifyIcon(NIM_ADD, &nid);
ShowWindow(SW_MINIMIZE);
ShowWindow(SW_HIDE);
}
[