gpt4 book ai didi

objective-c - Mac OS X -- 在最前面的窗口更改时收到通知

转载 作者:行者123 更新时间:2023-12-04 03:14:42 24 4
gpt4 key购买 nike

我想知道 Mac OS X 中是否有办法在最前面的窗口切换到不同的窗口时接收通知——Objective-C 解决方案、Python、AppleScript 或其他东西。我想查看整个系统,而不仅仅是在我的应用程序中。我的应用程序试图跟踪用户当前正在处理的文件,我有一个轮询解决方案,通过运行 AppleScript 经常获取最前面的应用程序和最前面的窗口,但如果我可以运行它,它会简化我的生活只有当我知道最前面的 window 已经改变时才检查。

我还查看了 NSDistributedNotificationCenter 和 NSEvents 的全局事件监视器,它们在不同方面都有用,但似乎无法给我理想的特定前窗更改通知。

关于我应该尝试的方向的任何想法,或者这是否可能,将不胜感激!

最佳答案

我不知道在窗口更改时获得通知的方法,但是在 Objective-c 中,您可以在应用程序级别发生事情时收到通知。那可能对你有帮助。

你想注册 NSWorkspace 通知...

[[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self selector:@selector(nsworkspaceNotification:) name:nil object:nil];

查看 NSWorkspace 类文档底部的通知。一些可以帮助你的是:NSWorkspaceDidLaunchApplicationNotification、NSWorkspaceDidActivateApplicationNotification、NSWorkspaceDidDeactivateApplicationNotification、NSWorkspaceDidHideApplicationNotification、NSWorkspaceDidUnhideApplicationNotification。可能还有其他人。

祝你好运。

关于objective-c - Mac OS X -- 在最前面的窗口更改时收到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17819529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com