Ich habe eine App, die als ein Menü auf der Statusleiste angezeigt wird, so schaltete ich die "Anwendung ist Agent (UIElement)" in plist auf JA (weil ich nicht ein Symbol auf dem Dock nur für ein Menü auf der Statusleiste wollen), aber wenn ich ein Element auf dem Menü klicken ein neues Fenster aufgerufen wird, ist es möglich, ein Dock-Symbol für dieses Fenster erscheinen zu lassen? und verschwinden, wenn das Fenster geschlossen wird?
Antworten
Zu viele Anzeigen?
0xced
Punkte
23133
Sie können das Dock-Symbol eines Programms ein- und ausblenden mit NSRunningApplication+DockIcon aber Vorsicht, dieser Code verwendet undokumentierte APIs.
Jon Schneider
Punkte
23345
So legen Sie Ihre Anwendung als Vordergrundanwendung fest, wodurch ihr Symbol im Dock erscheint und die Anwendung in der Liste Cmd+Tab angezeigt wird:
ProcessSerialNumber processSerialNumber = {0, kCurrentProcess};
TransformProcessType(&processSerialNumber, kProcessTransformToForegroundApplication);
Und um es wieder zu ändern:
ProcessSerialNumber processSerialNumber = {0, kCurrentProcess};
TransformProcessType(&processSerialNumber, kProcessTransformToUIElementApplication);