相关疑难解决方法(0)

控制OSX窗口

我正在尝试从我的应用程序控制外部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将一个进程拉到前面,但是这不允许我选择一个进程的特定窗口,如果它有多个.

macos cocoa macos-carbon objective-c

12
推荐指数
1
解决办法
4679
查看次数

如何使用Python脚本中的Cocoa API最小化/最大化macOS中的窗口?

如何通过Python脚本最小化/最大化macOS中的窗口?在Windows上,有一个win32 api(该ShowWindow()函数)可以执行此操作。我想要等效的macOS。我希望脚本能够从其标题中找到一个窗口,然后将其最小化或最大化。

这可能吗?我认为我需要为此使用pyobjc模块。

python macos cocoa pyobjc

12
推荐指数
1
解决办法
455
查看次数

如何使用沙盒应用程序的辅助功能?

OS X有一个很好的功能,如Accessibility API,它允许从您的应用程序代码控制一些系统元素和另一个应用程序.但是在打开Sandbox后它就会停止工作.要向商店提交应用程序,必须启用沙盒.

这就是Apple所说的:

使用App Sandbox,您可以并且应该启用应用程序的可访问性,如本文档中所述.但是,您无法对辅助应用程序(如屏幕阅读器)进行沙箱处理,也无法对控制其他应用程序的应用程序进行沙箱处理.

但App Store有一些使用Accessibility API的应用程序:

  • Cinch - 调整Windows大小
  • BetterSnapTool - 同样的
  • PopClip - 获取所选文本

所以这意味着可以一起使用Sandbox/Accessibility API/App Store,但是如何?

macos cocoa sandbox objective-c accessibility-api

7
推荐指数
2
解决办法
992
查看次数