マウスの座標を取得する (GetCursorPos)

user32.dll の GetCursorPos を用いて、現在のマウス座標を取得します。
サンプルのダウンロード

このカテゴリーの先頭へ このページの先頭へ

■サンプルの説明

起動したところ
起動した画面の上・画面外問わず、マウスを動かすと Form の中央にあるラベルに現在のマウスの座標値を表示します。

このカテゴリーの先頭へ このページの先頭へ

■コード

F0005_FlashWindowEx.vb
Imports System.Runtime.InteropServices
''' <summary>
''' GetCursorPos(user32.dll)
''' </summary>
Partial Public Class F0007_GetCursorPos

    ''' <summary>
    ''' GetCursorPos(マウスの座標を取得)の宣言
    ''' </summary>
    <DllImport("user32.dll", CharSet:=CharSet.Auto)> _
    Private Shared Function GetCursorPos(ByRef lpPoint As POINT) _
                                         As Boolean
    End Function

    ''' <summary>
    ''' POINT 構造体
    ''' </summary>
    Private Structure POINT
        Public X As Integer
        Public Y As Integer
    End Structure

    ''' <summary>
    ''' ロード時のイベント
    ''' </summary>
    Private Sub F0007_GetCursorPos_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Me.Text = "F0007_GetCursorPos"
        Me.Label1.Text = ""
        Me.Timer1.Interval = 100
        Me.Timer1.Start()

    End Sub

    ''' <summary>
    ''' 指定したタイマの間隔が経過した時のイベント
    ''' </summary>
    Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim lpPoint As POINT
        GetCursorPos(lpPoint)

        Me.Label1.Text = "X:" + lpPoint.X.ToString() + " Y:" + lpPoint.Y.ToString()
    End Sub

End Class
このカテゴリーの先頭へ このページの先頭へ

■参考資料

GetCursorPos