2012-05-24 9 views
5

Chcę napisać wtyczkę X-Chat, gdzie użytkownicy będą mogli wykonać żądanie CTCP do mojego klienta, przy czym wtyczka/X-Chat odpowie z moim bieżącym aktywnym tytułem okna.Pobierz bieżący aktywny tytuł okna w C

To byłoby naprawdę fajne dla innych użytkowników IRC, aby zobaczyć, co robię, aby pozwolić im określić, co robię, gdy jestem na pełnym ekranie (grając w grę, oglądając wideo itp.).

Wtyczki dla X-Chat są napisane w języku C, więc potrzebuję sposobu na określenie bieżącego aktywnego tytułu okna przy użyciu wywołań interfejsu Windows API od C. Czy ktoś może doradzić, jak to zrobić?

Dzięki.

+0

Nie, nie trzeba. Możesz także użyć Pythona lub Perla. – Gandaro

Odpowiedz

12

myślę można użyć GetForegroundWindow() uzyskać uchwyt do okna użytkownik korzysta, a następnie użyć GetWindowText() aby uzyskać tytuł:

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

Użyj 'GetForegroundWindow', jeśli szukasz bieżącego aktywnego okna wśród * wszystkich * procesów, lub użyj' GetActiveWindow', jeśli szukasz aktywnego okna w procesie * twój *. Zobacz [Ostatecznie nic już nie jest wyjątkowe] (http://blogs.msdn.com/b/oldnewthing/archive/2008/10/06/8969399.aspx). –

+0

@AdamRosenfield, dzięki za ten link. – hmjd