C'è un modo per nascondere a livello di programmazione un'applicazione carbon su osx?
-
19-08-2019 - |
Domanda
Ho un'applicazione Carbon C ++ e vorrei fare programmaticamente l'equivalente di Command-H (per nascondere l'applicazione) che è disponibile nel menu Applicazione per la mia app. Ho esplorato l'API di carbonio per TransitionWindow e HideWindow e mentre questi possono nascondere la mia finestra, non fanno l'equivalente di Command-H. Ho esaminato il riferimento AppleEvent sulla mano che mi serviva per creare un AppleEvent ma non ne vedevo uno per l'applicazione hide. Qualche pensiero?
Soluzione
Mi dispiace rispondere alla mia domanda, ma l'API ShowHideProcess () sembra fare quello che voglio. Se ci sono soluzioni migliori, mi piacerebbe ascoltarle.
Altri suggerimenti
Solo una nota: nascondere una finestra è molto diverso da nascondere un'applicazione.
Puoi anche inviare un evento di comando kHICommandHide ('nascondi') da Carbon Event Manager (che è quello che fa quella voce di menu e che chiama ShowHideProcess () quando viene elaborato) se preferisci, ad esempio se vuoi questa azione sarà materializzata da un evento.
Ho esaminato il riferimento AppleEvent sul retro che mi serviva per creare un AppleEvent ma non ne vedevo uno per nascondere l'applicazione. Qualche pensiero?
Non sono un esperto, ma puoi semplicemente usare AppleEvent per impostare la proprietà visible
di un processo su false
& # 8211; almeno funziona con un AppleScript
tell application "System Events"
set visible of process "xyz" to false
end tell
D'altra parte, l'API sembra essere il modo più diretto e probabilmente anche il codice sopra lo utilizza.