Controlando janelas do OSX

Estou tentando controlar janelas de um aplicativo OSX estrangeiro do meu aplicativo. Eu gostaria de 1. mover as janelas na tela 2. redimensionar as janelas na tela 3. alterar a janela ativa no momento do aplicativo 4. obter a janela ativa no momento.

(E eu gostaria de fazer isso através de ObjC / C / C ++ apis).

Quais são as chamadas de API que eu deveria procurar, considerando que tenho as CGWindowIDs das janelas que desejo controlar? Ou seja, eu esperaria encontrar funções com assinaturas de algo como:MoveWindow(CGWindowID winId, int x, int y), ResizeWindow(CGWindowID winId, int width, int height), Activatewindow(CGWindowID winId), CGWindowID GetCurrentlyActivatedWindow().

Para 3, eu já estou usandoSetFrontProcess para puxar um processo para ser inicial, mas isso não me deixa selecionar a janela específica de um processo se ele tiver múltiplos.

questionAnswers(6)

yourAnswerToTheQuestion