好东西,自己看
来源:互联网 发布:淘宝口令红包怎么用 编辑:程序博客网 时间:2024/06/09 20:11
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 CS_Control{ 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 //坐标 ); [DllImport("User32.dll", EntryPoint = "FindWindow")] private static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("user32.dll", EntryPoint = "FindWindowEx")] private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow); [DllImport("User32.dll", EntryPoint = "SendMessage")] private static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam); const int WM_GETTEXT = 0x000D; const int WM_SETTEXT = 0x000C; const int WM_CLICK = 0x00F5; 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; temp = formHandle; textBox_jubing.Text = temp.ToString(); //string w = ""; //IntPtr ptr = Marshal.StringToHGlobalAnsi(w); //SendMessage(formHandle, WM_SETTEXT, IntPtr.Zero, "hello"); } private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Space) { this.button1.PerformClick(); } } IntPtr temp; private void button2_Click(object sender, EventArgs e) { textBox3.Text = ""; //textBox_jubing.Text = ""; //SendMessage(temp, WM_SETTEXT, IntPtr.Zero, "hello"); } private void textBox3_MouseDown(object sender, MouseEventArgs e) { //MessageBox.Show("!"); SendMessage(temp, WM_SETTEXT, IntPtr.Zero, "hello"); } }}