To get the text of an external window you could use the GetForegroundWindow
and the GetWindowText
API functions. Here is a small example of its usage:
public partial class Form1 : Form
{
[DllImport("user32.dll")]
static extern int GetForegroundWindow();
[DllImport("user32.dll")]
static extern int GetWindowText(int hWnd, StringBuilder text, int count);
//Use SetWindowPos to make app alwaysontop
public Form1()
{
InitializeComponent();
}
private void GetActiveWindow()
{
const int nChars = 256;
int handle = 0;
StringBuilder Buff = new StringBuilder(nChars);
handle = GetForegroundWindow();
if (GetWindowText(handle, Buff, nChars) 0)
{
this.captionWindowLabel.Text = Buff.ToString();
this.IDWindowLabel.Text = handle.ToString();
}
}
private void timer1_Tick(object sender, EventArgs e)
{
GetActiveWindow();
}
}