Como saber si una aplicacion tiene el foco

25/08/2003 - 17:39 por Gonzalo Chacón | Informe spam
Tengo una aplicacion XYZ abierta, cuya ventana no es visible, es decir, el
foco lo tiene por ejm el explorador de window.
Esta aplicacion XYZ recibe un dato por el puerto serial, QUE FUNCION DEBO
USAR PARA DETERMINAR QUE LA VENTANA NO TIENE EL FOCO y ENTONCES PONERLA A
FLASHEAR EN LA BARRA DE TAREAS.

He probado con las funciones
IsWindowVisible(), pero solo funciona cuando XYZ está minimizada en el
SystemTray.
IsWindowEnabled(), solo determina si la ventana existe o no, no le interesa
si esta minimizada o maximizada o oculta.

Gracias
GONZALO.

Preguntas similare

Leer las respuestas

#1 Rafael
25/08/2003 - 19:02 | Informe spam
Usa: SetForegroundWindow();
Respuesta Responder a este mensaje
#2 Gonzalo Chacón
25/08/2003 - 21:20 | Informe spam
Lo que quiero saber es que funcion debo usar para saber cuando la ventana
está en background, de tal manera de ponerla a titilar en la bara de tareas

algo asi como:

if ( ventana_en_background == TRUE )
FlashWindow(TRUE);


"Rafael" escribió en el mensaje
news:00a101c36b2a$b5e81470$

Usa: SetForegroundWindow();
Respuesta Responder a este mensaje
#3 KAKATUO
29/10/2003 - 20:23 | Informe spam
Esto lo he hecho con un timer, pero tu lo deberías poner en tu función de
recepción de datos.

void CFlasherDlg::OnTimer(UINT nIDEvent)
{
HWND hfgwnd = ::GetForegroundWindow();
if (hfgwnd != GetSafeHwnd()) {
::FlashWindow(GetSafeHwnd(), TRUE);
::Sleep(500);
::FlashWindow(GetSafeHwnd(), TRUE);
}

CDialog::OnTimer(nIDEvent);
}

Saludos


"Rafael" escribió en el mensaje
news:03cf01c36b41$81b9f580$

Eso lo puedes Lograr con: IsIconic()
Espero te ayude.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida