3

情報を収集する Vb.net で簡単なプログラムを書いています。マウスの xy 座標、ピクセルの色、キーストローク数など。カーソルの x 座標と y 座標をフォーム上だけでなく、画面上の任意の場所に表示できるようにしたいと考えています。これを可能な限り簡単な方法で行いたいと考えています。目的の効果を達成した1つの方法は、次の設定を使用することです。

Picturebox2:

  • BackColor = 赤
  • image = 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 に答える