Programación General > C/C++
perdida del Icono del System Tray al reiniciar el explorer
(1/1)
diego.martinez:
Buenas:
Nuevamente, el fantasma del shellnotifyicon me persigue.
En este caso el problema que tengo es que si se reinicia el explorer.exe del windows pierdo el icono de la aplicación.
Alguien sabe como puedo:
detectar el reinicio del explorer para volverlo a poner / hacer que el icono sobreviva al explorer?
gracias
diego.martinez:
encontre la solución:
cuando se reinicia el explorer envia un broadcast "TaskbarCreated" a todas las ventanas del tray, asi que puedo capturarlo para reiniciar el tray:
en el codigo de la ventana que recibe los mensajes del icono
--- Código: C++ --- static UINT s_uTaskbarRestart; switch(m) { case WM_CREATE: s_uTaskbarRestart = RegisterWindowMessage(TEXT("TaskbarCreated")); return 0; default: if(m == s_uTaskbarRestart) { ((w32Tray*)T)->Data.cbSize=0; T->Update(); } else { HWND ag=FindWindowEx(0,0,"myWindow","mywindow"); if (ag!=NULL) SendMessage(ag,m,wp,lp); } break; }
Navegación
Ir a la versión completa