2012-05-24 15 views
5

Voglio scrivere un plug-in X-Chat in cui gli utenti saranno in grado di eseguire una richiesta CTCP al mio cliente, per cui il plug-in/X-Chat risponderà con il titolo della finestra attiva corrente.Ottieni titolo corrente della finestra attiva in C

Sarebbe davvero bello per i colleghi utenti IRC vedere cosa sto facendo per consentire loro di determinare cosa sto facendo se sono a schermo intero (giocando una partita, guardando un video ecc.).

I plugin per X-Chat sono scritti in C, quindi ho bisogno di un modo per determinare il titolo corrente della finestra attiva usando le chiamate API di Windows da C. Qualcuno può consigliare come questo potrebbe essere fatto?

Grazie.

+0

No, non è necessario. Puoi anche usare Python o Perl. – Gandaro

risposta

12

ho che è possibile utilizzare GetForegroundWindow() per ottenere un handle alla finestra l'utente sta utilizzando e quindi utilizzare GetWindowText() per ottenere il titolo:

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

Usa 'GetForegroundWindow' se stai cercando la finestra attiva corrente tra i processi * all *, o usa' GetActiveWindow' se stai cercando la finestra attiva solo * il tuo * processo. Vedi [Alla fine, niente è più speciale] (http://blogs.msdn.com/b/oldnewthing/archive/2008/10/06/8969399.aspx). –

+0

@AdamRosenfield, grazie per questo link. – hmjd

Problemi correlati