Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Как программно развернуть скрытый taskbar


Автор: baka 24.3.2009, 23:18
Добрый день,


у меня такая проблема 

надо чтоб при определенных событиях в моей программе 
всплывала панель Windows (убирающаяся автоматически)

я пробовал так
Код


HWND trayWnd = FindWindow(L"Shell_TrayWnd", 0);

SendMessage(trayWnd, WM_MOUSEHOVER, MK_LBUTTON, 0); 

//и так 
PostMessage(trayWnd,WM_SETFOCUS,0,0);

//и так 
ShowWindow(trayWnd, [с самыми разными параметрами ]);




но ни как не получается  smile 

т.е. в ICQ когда всплывает уведомление то убранная панель Windows всплывает.

как добиться такого же эффекта ?



Автор: GremlinProg 25.3.2009, 00:43
в ICQ для этого, видимо, просто ставится фокус в трей Shell_NotifyIcon(NIM_SETFOCUS...), либо перещелкивается какой-нибудь из параметров иконки

Автор: baka 25.3.2009, 06:19
я работаю с треем используя класс из Qt4.

т.е. HWND самой иконки мне не известен :(

соответственно Shell_NotifyIcon() - окну иконки послать не получается.


хотя если HWND  иконки можно функцией FindWindow()

(про 
Код

HWND hTrayNotifyWnd = FindWindowEx(FindWindow("Shell_TrayWnd",0),0,"TrayNotifyWnd",0);

я уже узнал, 

но как мне найти хэндл именно на мою иконку. ?

(можно конечно чуть переписать QSystemTrayIcon, но это крайний случай).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)