マウスポインタの移動を一時停止する方法

タグの編集
投稿者 しんのう  () 投稿日時 2008/9/10 01:31:00
お世話になります。 
ソフトだけでマウスポインタを移動してクリックしています。 
①から②の間だけはマウスすを外部(手)から動かしても 
マウスポインタが移動できないように停止することは可能でしょうか。 
ご授受を願えますと幸いです。 
マウスポインタの移動を一時停止につきまして宜しくお願い致します。 
 
 
  Call SetCursorPos(x, y)'マウスポインタを移動 
 
'① 
 
    Call mouse_event(&H2, 0, 0, 0, 0)''マウスの左ボタンを押す 
  Sleep 5000 
 
    Call mouse_event(&H4, 0, 0, 0, 0)'マウスの左ボタンを離す 
 
'②
投稿者 しんのう  () 投稿日時 2008/9/10 01:54:00
追伸 
使用言語に記述漏れがありました。大変申し訳ありませんでした。 
開発言語はMicrosoft Visual Basic 6.0を使用しています。
投稿者 るきお  () 投稿日時 2008/9/11 06:32:00
条件付きで可能です。キー操作などでほかのアプリケーションの切り替えられるとマウスに対する制御は失われてしまうようです。 
Vistaで試しましたが、ひょっとするとXP以前では動作が異なるかもしれません。 
でも、[Ctrl] + [Alt] + [Delete]が押されても停止したままでいることができるでしょうか? 
 
Private Declare Function ClipCursor Lib "user32" (lpRect As Any) As Long 
Private Type RECT 
        Left As Long 
        Top As Long 
        Right As Long 
        Bottom As Long 
End Type 
 
Private Sub Command1_Click() 
 
    Dim ThisRect As RECT 
     
    ThisRect.Left = 100 
    ThisRect.Top = 100 
    ThisRect.Bottom = 100 
    ThisRect.Right = 100 
     
    Call ClipCursor(ThisRect) 
 
End Sub
投稿者 しんのう  () 投稿日時 2008/9/11 09:59:00
 るきお様 
 
返答をして下さいましてありがとうございました。 
ご回答プログラムを提供して頂きましてお礼を申し上げます。 
(Windows98,2000,XP)で確認致しました。 
Command1ボタンを押しますとマウスポインタが停止状態になりました。 
マウスを外部(手)から動かしてもマウスポインタの移動がなく停止することも確認できました。 
本当にありがとうございました。 
>[Ctrl] + [Alt] + [Delete]が押されても停止したままでいることができるでしょうか?  
(Windows98,2000,XP)を[Ctrl] + [Alt] + [Delete]を押しましたらマウスポインタの停止状態が解除され 
マウスポインタが移動できるようになりました。 
 
下記についてご質問したいのですがよろしいでしょうか。 
マウスポインタの停止状態の解除を[Ctrl] + [Alt] + [Delete]を押さないで 
Sleep 5000 後にプログラムからマウスポインタが移動できるようにすることは可能でしょうか。 
度々申し訳ありません。ご授受を願えますと幸いです。
投稿者 しんのう  () 投稿日時 2008/9/11 12:53:00
るきお様 
 
大変申し訳ありません、ご質問 につきましては必要なくなりました。 
マウスポインタの停止状態の解除を[Ctrl] + [Alt] + [Delete]を押さないで 
プログラムから行うご質問 は勘違をしていました。 
ご回答プログラムを提供して頂きまして重ねてお礼を申し上げます。 
本当にありがとう御座いました。