2012-05-24 22 views
5

Quiero escribir un complemento X-Chat donde los usuarios puedan realizar una solicitud CTCP a mi cliente, por lo que el complemento/X-Chat responderá con mi título de ventana activa actual.Obtiene el título actual activo de la ventana en C

Esto sería genial para los usuarios de IRC ver lo que estoy haciendo para que puedan determinar lo que estoy haciendo si estoy en pantalla completa (jugando un juego, viendo un video, etc.).

Los complementos para X-Chat están escritos en C, por lo que necesito una forma de determinar el título de la ventana activa actual usando llamadas a la API de Windows desde C. ¿Alguien puede aconsejar cómo hacerlo?

Gracias.

+0

No, no es necesario. También puedes usar Python o Perl. – Gandaro

Respuesta

12

I que puede utilizar GetForegroundWindow() para obtener un identificador de la ventana el usuario está utilizando y luego usar GetWindowText() para obtener el título:

HWND foreground = GetForegroundWindow(); 
if (foreground) 
{ 
    char window_title[256]; 
    GetWindowText(foreground, window_title, 256); 
} 
+3

Use 'GetForegroundWindow' si está buscando la ventana activa actual entre los procesos * all *, o use' GetActiveWindow' si está buscando la ventana activa en solo * su * proceso. Ver [Eventualmente, ya nada es especial] (http://blogs.msdn.com/b/oldnewthing/archive/2008/10/06/8969399.aspx). –

+0

@AdamRosenfield, gracias por ese enlace. – hmjd

Cuestiones relacionadas