zoukankan      html  css  js  c++  java
  • C#通过鼠标获取窗口句柄

    先在窗口上拖一个button控件,一个timer控件,一个textbox控件,效果如下

    再复制以下代码到.cs文件里

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;

    namespace WindowsFormsApplication1
    {
    public partial class Form1 : Form
    {
    //获取窗口标题
    [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
    //坐标
    );



    public Form1()
    {
    InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void button1_Click(object sender, EventArgs e)
    {
    this.timer1.Enabled = !this.timer1.Enabled;
    }

    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);
    //得到窗口的句柄
    this.textBox1.Text = "窗口句柄:" + formHandle.ToString() + Environment.NewLine + "窗口标题:" + title + Environment.NewLine + "类名:" + className;
    }

    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Space)
    {
    this.button1.PerformClick();
    }
    }

    }
    }


    欢迎加入JAVA技术交流QQ群:179945282

    欢迎加入ASP.NET(C#)交流QQ群:17534377


  • 相关阅读:
    JS判断浏览器类型及版本
    php函数ob_start()、ob_end_clean()、ob_get_contents()
    HTML-embed标签详解
    QQ一键登录功能的实现过程
    windows 7系统搭建本地SVN服务器的过程
    php 环境工具官网地址
    yii2 auth access-token
    使用Yii2时遇到的实际问题
    PHPExcel正确读取excel表格时间单元格(转载)
    持续集成 Jenkins
  • 原文地址:https://www.cnblogs.com/q149072205/p/2124150.html
Copyright © 2011-2022 走看看