获取窗口句柄

来源:互联网 发布:中国数据库网 编辑:程序博客网 时间:2024/05/19 03:17
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Runtime.InteropServices;using System.Reflection;namespace 获取窗口句柄{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();            timer1.Enabled = true;        }        //获取窗口标题         [DllImport("user32", SetLastError = true)]        public static extern int GetWindowText(            IntPtr hWnd,            //窗口句柄             StringBuilder lpString, //标题             int nMaxCount           //最大值             );        //获取类的名字         [DllImport("user32.dll")]        private static extern int GetClassName(            IntPtr hWnd,            //句柄             StringBuilder lpString, //类名             int nMaxCount           //最大值             );        //根据坐标获取窗口句柄         [DllImport("user32")]        private static extern IntPtr WindowFromPoint(            Point Point  //坐标             );        private void timer1_Tick(object sender, EventArgs e)        {            int x = Cursor.Position.X;            int y = Cursor.Position.Y;            Point p = new Point(x, y);            IntPtr formhandle = WindowFromPoint(p);            StringBuilder title = new StringBuilder(256);            GetWindowText(formhandle,title,title.Capacity);            StringBuilder classname = new StringBuilder(256);            GetClassName(formhandle, classname, classname.Capacity);            txtBoxTitle.Text = title.ToString();            txtBoxHandle.Text = formhandle.ToString();            txtBoxClassName.Text = classname.ToString();                     }    }}
0 0
原创粉丝点击