基本的には、私は別のアプリケーションの何かが起こるたびに私のアプリケーションからメソッドを実行したいと思います。私は他のアプリからメソッドの名前を知っている、私はちょうど私のアプリがそれに応答して何かをする方法を知らない。入力マネージャーは最適なソリューションですか?ココアの入力マネージャー?
答えて
一般的には、 です。これは、他のアプリがNSNotification
を投稿している場合や、それ以外の場合はAPIを公開している場合にのみ可能です。
そうでなければ、それほど簡単ではないです。 NSEvent
globalMonitorとCGEventTap
の組み合わせで何かを一緒にハックすることができます。アクティブなアプリケーション(この場合はシミュレータ)と関連するキーボードショートカットが入力された状態を監視できます。もちろん回転のためのメニュー項目コントロールを離れる
この...
CGEventともう一つの方法は、ウィンドウのサイズを監視し、比率に注意を払うことです。私たちは、シミュレータのバージョンを含むすべてのiOSデバイスが非正方形の縦横比を持っていることを知っています。 OS Xのウィンドウのタイトルバーの高さは固定されています。 その後、手動でkCGWindowBounds
あなたはマウスダウンで発生するイベントをするために見て、ウィンドウの境界のチェック頻度を減らすことができ、キーウィンドウリストの変化を監視しようとするキーCGWindow
ウィンドウリストkCGWindowOwnerPID
を解釈し、NSRunningApplication
processIdentifier
にそれを一致させることができOS Xツールバーの高さ。 MinXから距離xになるようにこれらをさらに絞り込んで、他のメニューではないと仮定することができます。
これは、メニューのナビゲーションに続いて、メニューバー内のマウスのダウンイベントのギャップだけでなく、完全なキーボードコントロールのギャップを有効にします。
最後に、アクセシビリティAPI(AX接頭辞)を試して、物事をよりよく識別することができます。これらは、使用することがさらに困難です。しかし、他のオプションと同様に、システム環境設定でアクセシビリティが有効になっている必要があります。 (rootとして実行することができない限り、これは決して良い考えではありません)。
- 1. CGEventTapCreateがココアのキーボード入力を見ています
- 2. ココア/ファウンデーションツールコンソールから入力を読み込みますか?
- 3. モデルインスタンスのDjango参照マネージャーと関連マネージャー
- 4. Pythonのマルチプロセッシング・マネージャー
- 5. エラーWebSphere LibertyのJPAエンティティ・マネージャーへの挿入
- 6. ブラックベリーのマネージャーでSetMargin
- 7. C++のタスクモニターとマネージャー
- 8. ココア
- 9. ココア
- 10. アンドロイドTableLayoutマネージャー
- 11. Android 4.0.3 SDKマネージャー
- 12. Android - 通知マネージャー
- 13. org.datanucleus.exceptions.NucleusUserException:オブジェクト・マネージャーは、
- 14. Linux I/Oマネージャー
- 15. WPFアプリケーションでのマウス入力の入力
- 16. Play Frameworkでの入力の入力
- 17. TestNGへの入力の入力
- 18. ブートストラップ2.0.2 - 入力の余白の入力
- 19. 構成マネージャーとコマンドライン
- 20. ココア - そのポストと受け入れ答えを参照のNSLog
- 21. フォームのインライン入力とブロック入力
- 22. jsf(richfaces)readonly入力テキストの入力
- 23. 時間入力のテキスト入力keyupイベント
- 24. 入力と例外の入力方法
- 25. jQueryの入力イベントは、入力が
- 26. Windows Mobileの接続マネージャー
- 27. のiOS:AFHTTPSessionマネージャー応答データ
- 28. SQLアサーション:マネージャーの複雑な
- 29. C++用のソースコード依存マネージャー
- 30. Android/Windowsデバイス用のMIDLetマネージャー
状況を伝えることはできますか?他のアプリからメッセージが届いていますか?他のアプリは何ですか?あなたは何をするつもりですか? –
これは可能ですが、他のアプリが観察されるつもりでない限り、多少の混乱を招くことなくあまりできることはありません。私は入力マネージャーが助けになるとは思わない... –
それが役に立ったら、私はiPhone Simulatorについて話している。私はそれに応じて私のアプリに何かをさせたい。私はそれが(toggleRotationLeft:/ toggleRotationRight :)を回転するときに呼び出すメソッドを知っている、私はちょうどそのコードに応答して何かをする方法を把握することはできません。 ありがとう! –