3 Stimmen

Ist es möglich, das Dock-Symbol anzuzeigen, wenn ein neues Fenster aufgerufen wird?

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?

1voto

Sie müssen ein separates Anwendungsbinary/Bundle erstellen, um dieses Fenster anzuzeigen. Es gibt keine unterstützte Möglichkeit für eine Anwendung, ein Dock-Symbol auf einer anderen als einer prozessbezogenen Basis anzuzeigen oder das Dock-Symbol dynamisch ein- und auszublenden, während es läuft.

1voto

0xced Punkte 23133

Sie können das Dock-Symbol eines Programms ein- und ausblenden mit NSRunningApplication+DockIcon aber Vorsicht, dieser Code verwendet undokumentierte APIs.

1voto

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);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X