我正在尝试从我的应用程序控制外国 OSX 应用程序的窗口。我想 1. 移动屏幕上的窗口 2. 调整屏幕上的窗口大小 3. 更改应用程序当前活动的窗口 4. 获取当前活动的窗口。
(而且我想通过 ObjC/C/C++ api 来做到这一点)。
考虑到我有要控制的窗口的 CGWindowID,我应该寻找哪些 API 调用?也就是说,我希望找到具有以下签名的函数:MoveWindow(CGWindowID winId, int x, int y)
, ResizeWindow(CGWindowID winId, int width, int height)
, Activatewindow(CGWindowID winId)
, CGWindowID GetCurrentlyActivatedWindow()
.
对于 3,我已经在使用SetFrontProcess
将一个进程拉到前面,但这并不能让我选择一个进程的特定窗口,如果它有多个。