2011-11-09 37 views
7

画面/ウィンドウの中央にマウスの位置を設定できる必要があります。 どうすればいいですか?マウスの位置を設定する

+2

はなぜユーザーは単に自分自身そこにカーソルを移動することはできませんか? – dreamlax

+1

これは非常にユーザーフレンドリーなことではないので、これを行うための簡単な方法はないと考えています。 – dreamlax

+0

マウスの位置を特定のポイントに設定することは非常に便利だとは思いませんが、やはり私はあなたのプログラムから何を望んでいるのかは分かりません。 – Gabe

答えて

9

ドキュメントには、CGDisplayMoveCursorToPointまたはCGWarpMouseCursorPositionが表示されているようです。

EDIT:最新のコメントを一致させるために、私はさらに、約ドキュメントの状態、CGWarpMouseCursorPositionをお勧めします:たとえば

、この機能は、多くの場合、センターバックにカーソル位置 を移動するために使用されますカーソルを表示しないようにしたいゲームによる画面の表示

+0

ちょうどこれを試しました。あなたの助けていただきありがとうございますが、この機能は私のゲームで私のマウスハンドラを無効にするようです。 –

+2

@ChaseWalden、「オーバーライドする」とは、正確に何を意味するのですか?彼らはもはや呼ばれていない? –

+0

ええ。 2〜3フレームで応答し、ロックアップします。 –

-1

カーソルの現在の位置を取得するのに、[NSEvent mouseLocation]を使用できますが、画面の中央に位置をまっすぐに設定する方法が見つかりませんでした。

+0

あなたはなぜコメントの代わりに答えますか? – Dani

+0

私は間違いを犯して、これがihoneに関する質問だと答えたとき、私は間違いを認識し、すぐに新しい回答を修正しました – Gabe

4

私は先週のようなことに取り組んでいました。

CGEventSourceRef source = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState); 
    CGEventRef mouse = CGEventCreateMouseEvent (NULL, kCGEventMouseMoved, CGPointMake(X, Y), 0); 
    CGEventPost(kCGHIDEventTap, mouse); 
    CFRelease(mouse); 
    CFRelease(source); 

だけ設定XとY

EDIT:

#include <ApplicationServices/ApplicationServices.h> 
+0

これまで(これまでのところ)私にとって素晴らしい作品です。私はシャッフルされたフルスクリーンビデオを起動するために、アプリケーションで[NSCursor hide]と一緒にこれを使用します(ユーザーとのやりとりがないインストールとしてマシンをセットアップする場合)。そうすることで、マウスが表示されたり、メニューバーの上にマウスが移動するのを防ぐことができます。 – viperld002

関連する問題