Existe uma maneira de esconder programaticamente um aplicativo de carbono no OSX?

StackOverflow https://stackoverflow.com/questions/452435

  •  19-08-2019
  •  | 
  •  

Pergunta

Eu tenho um aplicativo de carbono C ++ e eu gostaria de programaticamente fazer o equivalente a Command-H (para esconder a aplicação) que está disponível no menu do aplicativo para o meu aplicativo. I têm explorado a API de carbono para TransitionWindow e HideWindow e enquanto estes podem esconder minha janela, eles não fazem o equivalente a Command-H. Olhei para a referência AppleEvent no improviso que eu precisava para criar um AppleEvent mas eu não vi um para esconder aplicação. Quaisquer pensamentos?

Foi útil?

Solução

Desculpe a responder a minha própria pergunta, mas a API ShowHideProcess () parece estar a fazer o que eu quero. Se há melhores soluções que eu gostaria de ouvi-los.

Outras dicas

Apenas uma nota:. Esconder uma janela é muito diferente para esconder uma aplicação

Você também pode enviar a ( 'esconder') Evento comando kHICommandHide do Gestor de Eventos de carbono (que é o que esse item de menu faz, e que apela ShowHideProcess () quando processados) se preferir, por exemplo, se quiser esta ação a ser materializado por um evento.

Eu olhei para a referência AppleEvent no improviso que eu precisava para criar um AppleEvent mas eu não vi um para esconder aplicação. Quaisquer pensamentos?

Não sou especialista, mas você pode apenas usar AppleEvent para definir a propriedade visible de um processo para false - pelo menos ele funciona com um AppleScript

tell application "System Events"
    set visible of process "xyz" to false
end tell

Por outro lado, a sua API parece ser a maneira mais direta e o código acima provavelmente só usa-lo também.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top