2009-05-02 3 views

Antwort

3

Nein, um Ihr Anwendungsmenü zu erhalten, müssten Sie die Anwendung in einen Vordergrundprozess (d. H. Nicht mehr ein LSUIElement) umwandeln. Sobald Sie die Anwendung in den Vordergrund überführen, kann sie nicht mehr zurückgehen.

Die Funktion zum Übergang der Anwendung in den Vordergrund ist TransformProcessType in der Carbon Process Manager gefunden.

Ihre Optionen hier sind 1) nachdem bringen Sie den Prozess in den Vordergrund mit TransformProcessType, Code ein kluger kleiner Trick, der schließt und startet die Anwendung neu. Ihre andere Option 2) besteht darin, eine zweistufige Anwendung zu erstellen (dies ist die Option, die ich wahrscheinlich bevorzugen würde, wenn es in Ihrem Fall möglich ist), wo sich ein Teil der Anwendung immer im Hintergrund befindet (d. H. LSUIElement). Wenn diese Anwendung ein Fenster mit einem Menü vorrücken möchte, startet sie eine Hilfsanwendung, die das Fenster usw. als eine reguläre Anwendung enthält. Wenn der Benutzer fertig ist, wird diese Anwendung geschlossen und geschlossen. Die zwei Anwendungen könnten leicht über eine beliebige Anzahl von IPC-Mechanismen kommunizieren, einschließlich UD-Sockets, Cocoa Distributed Objects, NSMessagePorts usw.

Verwandte Themen