3

我正在用 Vb.net 编写一个简单的程序来收集信息。例如鼠标 xy 坐标、像素颜色和击键数。我希望能够在屏幕上的任何位置而不是在表单上查看光标的 x 和 y 坐标,并且我希望以最简单的方式做到这一点。我达到预期效果的一种方法是使用以下设置:

图片框2:

  • 背景颜色 = 红色
  • 图像 = 3 x 2 像素图像(几乎不可见,但都需要)

表格1:

  • 透明键 = 红色

这会导致在光标位于表单边界之外时显示鼠标坐标的外观。但是它仍然超出了表格。我用于这个特定问题的代码是:

Dim mouseloc As Point


Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
    mouseloc = Cursor.Position
    lblc.Text = PointToClient(mouseloc).ToString
    lbls.Text = PointToScreen(mouseloc).ToString
End Sub

Private Sub PictureBox2_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox2.MouseMove
    mouseloc = Cursor.Position
    lblc.Text = PointToClient(mouseloc).ToString
    lbls.Text = PointToScreen(mouseloc).ToString
End Sub

我在 Windows 7 x64 Sony VAIO 上运行 Visual Studio 2010

在此处输入图像描述

4

1 回答 1

0

一个非常简单的方法是通过 Me.Capture = True 在表单中捕获鼠标。有关详细信息,请参见此处:

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.capture.aspx

话虽如此,如果即使您不是活动应用程序也需要跟踪鼠标,您将不得不使用某种类型的挂钩。虽然不清楚你想要做什么。

于 2012-09-10T21:10:21.293 回答