私のアプリが前面に来るかどうかに関わらず、私のアプリの画面解像度の変更を監視する必要があります。他のアプリケーションがCocoaのディスプレイ解像度を変更したかどうかを知る方法はありますか?
私は昨日、インターネット上で多くのことを検索し、これらすべてのオプションを試してみました:
applicationDidChangeScreenParameters;
CGDisplayRegisterReconfigurationCallback;
NSApplicationDidChangeScreenParametersNotification;
私は手動で解像度を変更したり、新しいディスプレイを抜い/接続したとき、私は通知を得ます。
しかし、他のアプリケーションが画面パラメータを変更したときに通知を受け取ることはありません(2011年以前に行われたほとんどのゲーム)。
macアプリケーションが画面解像度を変更するかどうかを知る方法はありますか?私のアプリがバックグラウンドにあっても?通知がありますか?うまくいけばアクセシビリティAPIなし...?
はEDIT(6月9日)
あまりこの回答Events when dock is showing or hidingを
をいただき、ありがとうございます私は少しを助けました。他のアプリがフルスクリーンに出入りするときに通知を受けるが、フルスクリーン状態を変更せずに解像度を変更しないときは通知を受けるからである.../10.8で廃止予定のCarbon APIに依存する...私はしたいが、ほとんどの場合に動作します... ココアで達成するための他の方法はありますか?これに関するグローバルな通知?
これは何のためですか?ユーザーがフルスクリーンゲームを起動した場合、ゲームの期間中、ユーザーがあなたのアプリとグラフィックでやりとりすることはないため、アプリはこれに応答して何もするべきではないはずです。画面の解像度が復元されますゲームが終了したとき。 – user57368
これは私のアプリケーションのためのものです:http://joystickmapper.com/これはバックグラウンドで動作します。デスクトップ解像度とは異なる解像度を使用している場合、いくつかのゲームで発生する問題を解決するために画面解像度を変更するかどうかを知る必要があります。 – Rodrigo