タイマーの期限が切れた後に最前面のアプリケーションになり、ボタンを押してタイマーが開始されたときに最前面のステータスを辞任する必要があるアプリケーションがあります。
- 「タイマーの開始」をクリックします->アプリはほとんどのアプリケーションの最前線で辞任します
- タイマーの期限が切れます->アプリが最前面のアプリケーションになります
のアクティブなステータスで遊んでもsharedApplication
私が望むことをしないので、私は意図的に少し言い換えました。
私はaを実行することで最前線のアプリになり、[[NSApplication sharedApplication] activateIgnoringOtherApps: YES]
それは完全にうまく機能します。
逆にするのは無理そう!?
[[NSApplication sharedApplication] deactivate]
直接呼び出すべきではありませんが、さらに重要なことに、「コマンドタブの順序」で次のアプリケーションを転送しません。アプリはメニューバーが表示された状態でそこに座っているだけですが、「アクティブ」ではなくなりました。[[NSApplication sharedApplication] hide: self]
アクティブなステータスを辞任し、「コマンドタブの順序」で次のアプリケーションを前面に表示しますが、すべてのアプリケーションウィンドウも非表示にします。
すべてのウィンドウを非表示にすることなく、コマンドタブの順序で次のアプリケーションを前面に表示する方法が必要です。
それを行う良い方法はありますか?
ソリューションは、10.5Leopardおよび10.6互換である必要があります。
私は1996年頃からの解決策を持っていますが、それはCarbon APIを含み、Cocoaまたは少なくともFoundationの方法でそれを行うことを本当に望んでいます。
どんな助けでも大歓迎です。