• ベストアンサー

指定した位置にマウスを移動したい。

表題のとおりで、VB6を使用して、 指定した座標にマウスを移動したいのですが、 どのようにやればよいでしょうか? また、VB6でマウスをクリックするイベントを 作るには、どうしたらよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

APIで出来るようです。 Option Explicit Private Declare Function SetCursorPos Lib "user32" _ (ByVal x As Long, ByVal y As Long) As Long Private Sub Command1_Click() Dim a As Long Dim x As Long Dim y As Long x = 100 y = 100 a = SetCursorPos(x, y) End Sub >VB6でマウスをクリックするイベントを作るには 作らなくてもイベントは発生します。 command1をクリックさせたいなら、 単にCommand1_Click()をコールします。

7_11shop
質問者

お礼

ありがとうございます。 できました。

その他の回答 (3)

回答No.4

移動させるのはクリックさせるためですか? もしそうであれば、マウスを移動させなくてもクリックできます。 VBカテゴリを SendMessage GetDlgCtrlID BN_CLICKED で検索をしてみてください。 この方法は、マウスのアップダウンを制御する方法ではないので、「マウスダウン」「マウスアップ」の間に、ユーザによる割り込み処理を防ぐ事ができます。 どの言語で作成されたExeでも、クリックイベントを発生させることができます。

7_11shop
質問者

お礼

ありがとうございます。 できました。

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.3

#2です。 すみません、少しミスってました。 ' クリックを擬似的に行う Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.2

APIを使います。 Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long) Private Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down Private Const MOUSEEVENTF_LEFTUP = &H4 ' left button up ~ ' カーソルの移動(この例ではX=100,Y=200) Call SetCursorPos(100, 200) ' クリックを擬似的に行う Call mouse_event(MOUSEEVENTF_LEFTDOWN + mouseevent_leftup, 0, 0, 0, 0) Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

7_11shop
質問者

お礼

ありがとうございます。 できました。

関連するQ&A