objective-c - OS X 辅助功能 - 如何将窗口一直带到最前面?

标签 objective-c macos cocoa

我正在使用 osx 辅助功能 API 来尝试将窗口置于最前面。文档说 kAXRaiseAction“模拟通过单击标题栏将窗口向前移动”

AXUIElementPerformAction(myWindowRef, kAXRaiseAction);

除了它不会...它只会使窗口向前移动,通过同一应用程序的所有窗口,这不是您单击应用程序标题栏时发生的情况。

当我实际单击一个 Finder 窗口(其中一个)时,它会一直走到最前面,通过所有其他进程的窗口,而不会将任何其他 finder 窗口带到前面。

我怎样才能模拟这种行为?

https://developer.apple.com/library/mac/documentation/UserExperience/Reference/Accessibility_RoleAttribute_Ref/Actions.html

最佳答案

您可以像现在一样选择窗口,然后使用 -[NSRunningApplication activateWithOptions:] 激活应用程序。

关于objective-c - OS X 辅助功能 - 如何将窗口一直带到最前面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21541561/

相关文章:

c++ - 如何在 Qprocess 中运行 FFmpeg 命令以使其工作?

objective-c - 更新应用程序时如何处理偏好设置?

macos - 以编程方式或通过 Mac 上的命令行发现当前用户的屏幕保护程序超时

objective-c - NSView drawRect 和视网膜图像

iOS - 动画 UIButton ImageView 图像导致按钮在之后为 'selected'

ios - 前置摄像头的 AVCaptureSession canAddInput 在 iPad 上总是返回 false

ios - 在 iOS 8 中,如何在 la Mail.app 中实现长扫删除手势

macos - 如何在多用户 MacOS Sierra 设置上使用 Homebrew

cocoa - 实现 Cocoa 绑定(bind)模式

ios - NSManagedObjectContext 只工作了几次,然后就停止工作了