C#获取目标窗体句柄

 时间:2026-02-12 23:03:13

1、打开VS,创建如图一个窗体,再加入一个定时器控件Timer

C#获取目标窗体句柄

2、引入:using System.Runtime.InteropServices;命名空间

然后全部代码如下。

3、[DllImport("user32.dll")]        public static extern int GetCursorPos(ref PointAPI lpPoint);  //获取鼠标坐标,该坐标是光标所在的屏幕坐标位置

   

        [DllImport("user32.dll")]        public static extern int WindowFromPoint(int xPoint,int yPoint);  //指定坐标处窗体句柄

        [DllImport("user32.dll")]        public static extern int GetWindowText(int hwnd,StringBuilder lpString,int nMaxCount);//获取窗体标题名称

        [DllImport("user32.dll")]          public static extern int GetClassName(int hwnd,StringBuilder lpstring,int nMaxCount); //获取窗体类名称        [StructLayout(LayoutKind.Sequential)]        public struct PointAPI         {           public int x;           public int y;        }        bool bt = false;        private void button1_Click(object sender, EventArgs e)        {            if (!bt)            {                this.button1.Text = "关闭";                timer1.Enabled = true;                timer1.Start();                bt = true;            }            else             {                this.button1.Text = "开启";                timer1.Enabled = false;                timer1.Stop();                bt = false;            }                  }

        PointAPI pi = new PointAPI();        public void PointA()        {                   GetCursorPos(ref pi);            int hwnd = WindowFromPoint(pi.x, pi.y);            StringBuilder name = new StringBuilder(255);            StringBuilder className = new StringBuilder(255);            GetWindowText(hwnd, name, 255);            GetClassName(hwnd,className,255);            textBox1.Text = name.ToString();            textBox2.Text = className.ToString();

                }

        private void Form1_Load(object sender, EventArgs e)        {            timer1.Enabled = false;            timer1.Stop();        }

        private void timer1_Tick(object sender, EventArgs e)        {            PointA();        }                 }

4、运行后,光标所在位置即可显示当前所在窗体的句柄名称,句柄类名称。有了句柄就可以做很多事情!

  • DOS命令操作sql server 2000数据库
  • 华硕固件下优酷路由宝的配置方法
  • vscode如何修改标题模式呢?
  • 如何使用MobaXterm扫描网络和端口?
  • 红米如何开空调遥控器?
  • 热门搜索
    环球旅游资讯 广东哪里旅游好玩 坝美最佳旅游时间 山东省旅游地图 中国旅游攻略 武夷山旅游景点 苏州旅游财经学院 冬天去哪里旅游好 南岳旅游网 莱芜旅游景点