Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get current active Window title in C

Tags:

c

windows

winapi

I want to write an X-Chat plugin where users will be able to perform a CTCP request to my client, whereby the plugin/X-Chat will respond with my current active window title.

This would be really cool for fellow IRC users to see what I'm up to to allow them to determine what I'm doing if I'm full screen (playing a game, watching a video etc).

Plugins for X-Chat are written in C, so I need a way of determining the current active Window title using Windows API calls from C. Can anyone advise on how this might be done?

Thanks.

like image 834
deed02392 Avatar asked May 24 '12 15:05

deed02392


2 Answers

I think you can use GetForegroundWindow() to get a handle to the window the user is using and then use GetWindowText() to get the title:

HWND foreground = GetForegroundWindow();
if (foreground)
{
    char window_title[256];
    GetWindowText(foreground, window_title, 256);
}
like image 109
hmjd Avatar answered Oct 31 '22 12:10

hmjd


Here are the APIs to use:

GetActiveWindow()

http://msdn.microsoft.com/en-us/library/windows/desktop/ms646292(v=vs.85).aspx

GetWindowText()

http://msdn.microsoft.com/en-us/library/windows/desktop/ms633520(v=vs.85).aspx

like image 33
Francis Upton IV Avatar answered Oct 31 '22 11:10

Francis Upton IV