我想从我的应用程序中控制外部OSX应用程序的窗口。我想 到 1.移动屏幕上的窗口 2.调整屏幕上的窗口大小 3.更改应用程序的当前活动窗口 4.获取当前活动的窗口。控制OSX窗口
(我希望通过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
来拉动一个进程,但是这并不允许我选择一个进程的特定窗口,如果它有多个。
这些代码示例以几种方式帮助我,因为我想实现与Sami相同的功能。 :) 非常感谢! – 2011-05-16 11:02:50
没问题。我很高兴能够提供帮助 - 这个社区为我提供了很多很好的答案,我很高兴能够提供回馈。 – 2011-05-16 11:35:12
有没有一种方法只关注窗口,无法访问?我的用例是,我的应用程序具有焦点,它列出所有正在运行的应用程序,选择该列表中的应用程序将集中它。目前,如果我使用'activateWithOptions:'它不是最小化窗口,所以如果所有窗口minmized它什么也不做。所以我试图找到另一种方式来集中(不减少) – Noitidart 2016-01-11 11:46:53