Foros del Web » Programación para mayores de 30 ;) » C/C++ »

saber que ventana esta abierta o activa c++

Estas en el tema de saber que ventana esta abierta o activa c++ en el foro de C/C++ en Foros del Web. hola tengo esta funcion que guarda en un log que ventana esta abierta pero el problema es que me guarda todas las ventanas que tengo ...
  #1 (permalink)  
Antiguo 27/07/2010, 08:54
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 8 meses
Puntos: 15
saber que ventana esta abierta o activa c++

hola tengo esta funcion que guarda en un log que ventana esta abierta pero el problema es que me guarda todas las ventanas que tengo mas no solo que tengo activa como puedo arreglar esto..

Código:
BOOL CALLBACK enumproc(HWND hwnd,LPARAM lParam)
{
    char stTitle[MAX_PATH];
    ofstream log1("C:\\log.txt", ios::app);
    if(GetForegroundWindow() && IsWindowVisible(hwnd)){
        GetWindowText(hwnd,stTitle,MAX_PATH);
        log1<< stTitle<<endl;
    }
    return TRUE;
}
saludos
  #2 (permalink)  
Antiguo 27/07/2010, 09:15
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 5 meses
Puntos: 61
Respuesta: saber que ventana esta abierta o activa c++

Desconozco la respuesta, pero tal vez si compararas lo que retorna GetForegroundWindow() contra el hwnd, algo distinto pasaria:

osea cambiar:

Código C:
Ver original
  1. if(GetForegroundWindow() && IsWindowVisible(hwnd)){

por

Código C:
Ver original
  1. if(( hwnd == GetForegroundWindow()) && IsWindowVisible(hwnd)){
  #3 (permalink)  
Antiguo 27/07/2010, 09:53
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 8 meses
Puntos: 15
Respuesta: saber que ventana esta abierta o activa c++

Exactamente asi era muchas gracias por tu ayuda.

saludos

Etiquetas: abierta, ventanas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:57.