How to get the title of the current active window using Win32 API in WinForms C#

1 Answer

0 votes
using System.Runtime.InteropServices;
using System.Text;

namespace WinFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            [DllImport("user32.dll")]
            static extern IntPtr GetForegroundWindow();

            [DllImport("user32.dll")]
            static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count);

            const int nChars = 256;
            StringBuilder Buff = new StringBuilder(nChars);
            IntPtr handle = GetForegroundWindow();

            textBox1.Text = "";

            if (GetWindowText(handle, Buff, nChars) > 0)
            {
                textBox1.Text = Buff.ToString();
            }
        }
    }
}



/*
run:

Form1

*/

 



answered Jan 15 by avibootz
...