2009-02-08 26 views
7

¿Cuál es la mejor manera de restaurar y centrar mediante programación una aplicación de terceros (por ejemplo, GoogleTalk o Twhirl) ejecutándose en la bandeja del sistema? Estoy escribiendo mi utilidad en C#, pero obviamente no tengo control sobre la aplicación de terceros.Restaurar aplicación desde la bandeja del sistema

Respuesta

5

Usa algo como FindWindow/FindWindowEx para encontrar la ventana oculta y obtener su identificador de ventana y luego llamar al ShowWindow (handle, SW_NORMAL) para mostrarlo.

Utilice una herramienta como Spy ++ (se puede encontrar en el menú de herramientas de Visual Studio) para encontrar los parámetros que se pueden pasar a FindWindow para ubicar la ventana deseada.

+1

¿Qué sucede si la ventana oculta tiene un asa = 0? – hawbsl

+0

AFAIK un controlador NULL representa un identificador no válido ... FindWindow devuelve NULL cuando falla al encontrar la ventana especificada. –

0

¿Utiliza una llamada API para enviar eventos de clic del mouse a la bandeja del sistema? Google WM_SENDMSG SendMessage Win32 API para un punto de partida

También hay otro API call para configurar el foco una vez que la ventana está en marcha atrás.

Cuestiones relacionadas