マウスポインターの表示位置を指定したい


ゲームの新人  2011-03-25 13:46:36  No: 102830  IP: [192.*.*.*]

屋外など明るい場所でPCを操作しているとマウスポインターの位置がどこに行ったかわからなくなってしまい探してもなかなか見つからずに苦労します。たとえば何かのキーを押すと必ず指定位置に戻るようにできれば確実にポインターを捕捉できるのでやってみたいと思います。このようなことはできるのでしょうか?  VB6/SP6です。

編集 削除
GOD  2011-03-25 15:03:10  No: 102831  IP: [192.*.*.*]

1)標準モジュールに↓を書く。(プロジェクトプロパティのスタートアップをsub mainに変更。)
Public Declare Function SetCursorPos Lib "user32" Alias "SetCursorPos" (ByVal x As Long, ByVal y As Long) As Long

Sub main()
    Call SetCursorPos(0, 0)'左上に移動
End Sub

2)EXE作成。
3)デスクトップに作成したEXEのショートカット作成。
4)ショートカットのプロパティ表示。
5)ショートカットキー登録。
6)登録したショートカットキーを押下すればカーソルが移動する。但し、別アプリケーションが前面にあり、ショートカットキーを使用していればできないかも。
参考資料:_ttp://www.atmarkit.co.jp/fwin2k/win2ktips/150use_shortcut/use_shortcut.html

編集 削除
ゲームの新人  2011-03-25 16:16:22  No: 102832  IP: [192.*.*.*]

GOD様、ありがとうございました。  早速試しましたら思っていたことができました。Form1のKeyPreviewをTrueにしておき

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 27 Then  'ESC
    Call SetCursorPos(0, 0) '左上に移動
End If    
End Sub

としました。(この機能を使うのはこのソフトだけなので汎用での使用は考えませんでした)試しにText1を置いてそこにActiveを移動していてもOKでした。なおその時にBeepが鳴るようです。(まったく問題なし)
こんなに早く思った仕様のものができて感謝いたします。

編集 削除