2009-05-02 9 views

答えて

3

いいえ、アプリケーションメニューを表示するには、アプリケーションをフォアグラウンドプロセスに移行する必要があります(LSUIElementではなくなりました)。アプリケーションをフォアグラウンドに移行すると、アプリケーションはフォアグラウンドに移行できなくなります。

アプリケーションをフォアグラウンドに移行する機能は、Carbon Process ManagerにあるTransformProcessTypeです。

ここでのオプションは、1)プロセスをフォアグラウンドでTransformProcessTypeとした後、アプリケーションを閉じて再起動する巧妙な小さなトリックです。もう1つの選択肢2)は、2段階のアプリケーションを作成することです(これは、可能であれば、アプリケーションの一部がバックグラウンド(LSUIElement)になっている場所で可能です)。そのアプリケーションがメニュー付きのウィンドウを持ってきたいときは、ウィンドウなどを含むヘルパーアプリケーションを通常のアプリケーションとして起動します。ユーザーが終了すると、そのアプリケーションは閉じられ、閉じられます。 2つのアプリケーションは、UDソケット、Cocoa Distributed Object、NSMessagePortsなど、任意の数のIPCメカニズムを介して簡単に通信できます。