可可 – Mac OS X Lion:检测另一个应用程序是否以全屏模式运行?

可可 – Mac OS X Lion:检测另一个应用程序是否以全屏模式运行?,第1张

概述在可可应用程序中,是否有一种方法来判断另一个应用程序当前是否处于全屏模式? 我的应用程序被配置为显示在所有空间上并监听mouseEntered事件,以便自己订购到前端。 问题是当另一个应用程序处于全屏模式,用户碰巧将鼠标移动到我应用程序的窗口所在的黑色区域时,会被带到前面(发生在多个显示器上)。 我只看过上面的行为[self setCollectionBehavior:NSWindowCollec 在可可应用程序中,是否有一种方法来判断另一个应用程序当前是否处于全屏模式?

我的应用程序被配置为显示在所有空间上并监听mouseEntered事件,以便自己订购到前端。

问题是当另一个应用程序处于全屏模式,用户碰巧将鼠标移动到我应用程序的窗口所在的黑色区域时,会被带到前面(发生在多个显示器上)。

我只看过上面的行为[self setCollectionBehavior:NSWindowCollectionBehaviorCanJoinAllSpaces];启用。

这里是我应用程序的其他相关代码。

- (voID) mouseEntered:(NSEvent *)theEvent{    // Don't do this when another app is in full screen mode:    [[self window] orderFront:self];}
解决方法 嗯,你排除了使用applescript / scriptingbrIDge吗?您可以从applescript获取窗口的大小,并将其与屏幕的大小进行比较。 (或者您不知道某个应用程序的屏幕是什么?)
可访问的某些应用程序在其窗口上将具有“AXFullScreen”属性。例如,这适用于某些应用程序:

tell application "System Events"    tell process "Pages"        repeat with myWin in windows            get value of attribute "AXFullScreen" of myWin        end repeat    end tell end tell

真正的行动似乎在碳排放… Macwindows.h和CarbonEvents.h中引用了“FullScreen”。

你会需要研究这个。

总结

以上是内存溢出为你收集整理的可可 – Mac OS X Lion:检测另一个应用程序是否以全屏模式运行?全部内容,希望文章能够帮你解决可可 – Mac OS X Lion:检测另一个应用程序是否以全屏模式运行?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1036801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存