private void frmCursorPoint_MouseMove(Object sender, MouseEventArgs e) { ZS.Common.Win32.API.POINT pt = new Win32.API.POINT(0, 0); ZS.Common.Win32.API.GetCursorPos(ref pt); String loc = "X:" + pt.X + ",Y:" + pt.Y; label1.Text = loc; label1.Location = new Point(pt.X - this.Left, pt.Y - this.Top); lblCursorPointStick.Text = loc; }
private void Ms3_MouseMove(object sender, Win32.Mouse.MouseEventArgs args) { IntPtr parent = new IntPtr(Int32.Parse(txtWindowHandle.Text)); Win32.API.POINT pt = new Win32.API.POINT(); pt.X = args.X; pt.Y = args.Y; if (Win32.API.ScreenToClient(parent, ref pt)) { IntPtr target = Win32.API.ChildWindowFromPoint(parent, pt); if (target != IntPtr.Zero) { String txt = Win32.API.GetWindowText(target); AppendText(target + ":" + txt); } } else { MessageBox.Show("屏幕坐标到区域坐标转换失败!"); } }
private void Ms1_MouseMove(object sender, Win32.Mouse.MouseEventArgs args) { IntPtr parent = new IntPtr(Int32.Parse(txtWindowHandle.Text)); Win32.API.RECT rec = new Win32.API.RECT(); Win32.API.GetWindowRect(parent, ref rec); Win32.API.POINT pt = new Win32.API.POINT(); if (args.X >= rec.left && args.X <= rec.right && args.Y > rec.top && args.Y < rec.bottom) { pt.X = args.X - rec.left; pt.Y = args.Y - rec.top; } IntPtr target = Win32.API.ChildWindowFromPointEx(parent, pt, 0x0000); if (target != IntPtr.Zero) { String txt = Win32.API.GetWindowText(target); AppendText(target + ":" + txt); } }