Gibt es eine Möglichkeit, um eine Kohlenstoff-Anwendung auf osx programmatisch zu verbergen?
-
19-08-2019 - |
Frage
Ich habe eine C-C ++ Anwendung, und ich möchte programmatisch das Äquivalent von Befehl-H tun (die Anwendung zu verstecken), die im Anwendungsmenü für meine Anwendung verfügbar ist. Ich habe die Kohlenstoff-API für TransitionWindow und HideWindow erforscht und während diese meine Fenster verstecken, sie das Äquivalent von Befehl-H nicht. Ich schaute in den Appleevent Bezug auf die offhand Ich brauchte ein Appleevent zu schaffen, aber ich habe nicht eine für Haut Anwendung. Irgendwelche Gedanken?
Lösung
Leider meine eigene Frage, aber die ShowHideProcess () API scheint zu beantworten zu tun, was ich will. Wenn es bessere Lösungen gibt, würde ich lieben, sie zu hören.
Andere Tipps
Nur ein Hinweis: a. Fenster versteckt ganz anders ist es, eine Anwendung zu verbergen
Sie können auch eine kHICommandHide ( ‚verstecken‘) Befehl Ereignis aus den Carbon-Event Managern senden (das ist, was der Menüpunkt tut, und welche Anrufe ShowHideProcess () bei der Verarbeitung), wenn Sie es bevorzugen, zum Beispiel, wenn Sie möchten, diese Aktion durch ein Ereignis eingetreten werden.
Ich schaute in den Appleevent Bezug auf die offhand Ich brauchte ein Appleevent zu schaffen, aber ich habe nicht eine für Haut Anwendung. Irgendwelche Gedanken?
Ich bin kein Experte, aber Sie können nur Appleevent verwenden, um die visible
Eigenschaft eines Prozesses auf false
- zumindest mit einem Apple arbeitet
tell application "System Events"
set visible of process "xyz" to false
end tell
Auf der anderen Seite, Ihre API scheint der direkteste Weg, und der obige Code zu sein wahrscheinlich verwendet es genauso gut.