我正在尝试从我的应用程序控制外部OSX应用程序的窗口.我想1.移动屏幕上的窗口2.调整屏幕上的窗口大小3.更改应用程序的当前活动窗口4.获取当前活动的窗口.
(我想通过ObjC/C/C++ apis这样做).
考虑到我有想要控制的窗口的CGWindowID,我应该寻找什么样的API调用?也就是说,我希望找到的功能与类似的东西签名:MoveWindow(CGWindowID winId, int x, int y),ResizeWindow(CGWindowID winId, int width, int height),Activatewindow(CGWindowID winId),CGWindowID GetCurrentlyActivatedWindow().
对于3,我已经习惯SetFrontProcess将一个进程拉到前面,但是这不允许我选择一个进程的特定窗口,如果它有多个.
如何通过Python脚本最小化/最大化macOS中的窗口?在Windows上,有一个win32 api(该ShowWindow()函数)可以执行此操作。我想要等效的macOS。我希望脚本能够从其标题中找到一个窗口,然后将其最小化或最大化。
这可能吗?我认为我需要为此使用pyobjc模块。
OS X有一个很好的功能,如Accessibility API,它允许从您的应用程序代码控制一些系统元素和另一个应用程序.但是在打开Sandbox后它就会停止工作.要向商店提交应用程序,必须启用沙盒.
这就是Apple所说的:
使用App Sandbox,您可以并且应该启用应用程序的可访问性,如本文档中所述.但是,您无法对辅助应用程序(如屏幕阅读器)进行沙箱处理,也无法对控制其他应用程序的应用程序进行沙箱处理.
但App Store有一些使用Accessibility API的应用程序:
所以这意味着可以一起使用Sandbox/Accessibility API/App Store,但是如何?