2012-03-20 7 views
4

カーソルがIbeamやその他のカーソルアイコンのタイプに変更されたときに、グローバルフックをマウスに追加してイベントを発生させたい。C#でグローバルカーソルアイコンの変更イベントを取得するにはどうすればよいですか?

+1

アクセシビリティフックを使用します。 OBJID_CURSORのEVENT_OBJECT_NAMECHANGEを聞きます。 (実際の質問はあなたが気にする理由です。カーソルが干渉することなくそのことをやりましょう) –

+0

私はそれをやりたいのですが、窓のためにマウスレス/キーボードレスのインターフェースを作っています。カーソルがIbeamに変わると、画面上のキーボードがポップアップします。私はSetWinEventHookを使ってみましたが、うまく動作しませんでした。私が使用できるコード例がありますか?返信いただきありがとうございます。 – tareqx3

+0

編集コントロールにフォーカスを当てると反応する方がよいでしょう。さもなければ、あなたはキーボードをポップアップさせるでしょう。 System.Windows.Automation名前空間を参照してください。この名前空間を使用すると、特定のイベントをC#に面白く登録することができます。 –

答えて

3

MSDN Magazine issue back from 2001には、そのトピックをカバーするようなWin32の記事があります。

記事で議論したアイデアが要件に合っていれば、記事内のアイデアを使用してC#でこれを行うためにP/Invokeを使用できると思います。

関連する問題