投稿日 | : 2006/09/29(Fri) 15:41 |
投稿者 | : シーモア |
Eメール | : |
URL | : |
タイトル | : Re^2: マウスカーソルをセカンダリ上でも消したい(ShowCursorではプライマリだけ消える) |
> > セカンダリモニタ上にいくと表示されてしまいます
> > セカンダリモニタ上でも消せないでしょうか?
> だったら、移動しないようにすればいいのでは。
>
> マウスのイベントを無効にし、マウスカーソルを非表示に設定
> http://hanatyan.sakura.ne.jp/vbhlp/MouseLook.htm
どうなるかといいますと、セカンダリーにマウスカーソルが飛んで
カーソルは見えたままで、プライマリにマウスカーソルが戻りません
プライマリにマウスカーソルを戻すのは
DEBUGで一旦とめると成功するので
DoeventsやSleepをいれて色々試しましたができませんでした
GetClipCursor LookOff
Call SetCursorPos(lngX, lngY) 'セカンダリー相対位置マウスカーソルを移動
Dim MoLook As RECT
MoLook.Left = lngX
MoLook.Top = lngY
MoLook.Right = lngX
MoLook.Bottom = lngY
sMouseVisible False 'マウスカーソルを非表示
ClipCursor MoLook 'マウスカーソルをロック
Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) 'マウスダウン
DoEvents
Dim lngTickCount
lngTickCount = GetTickCount + 400
Do '0.4m秒待機
DoEvents
If lngTickCount < GetTickCount Then
Exit Do
End If
Loop
Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) 'マウスアップ
ClipCursor LookOff 'マウスカーソルのロック解除
sMouseVisible True 'マウスカーソルを表示
Call SetCursorPos(getP.x, getP.y) 'マウスカーソルを元の位置(プライマリ)へ