我需要知道最前面的应用程序是否处于全屏状态。
这是我必须检查的内容(我知道 NSApplicationPresentationOptions
仅适用于 NSApplication
,但我不知道如何使用 NSRunningApplication
) :
NSArray *activeApps = [[[NSWorkspace sharedWorkspace] runningApplications] filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"isActive==YES && bundleIdentifier!=%@", MY_BUNDLE_IDENTIFIER]];
if ([activeApps count] > 0){
NSApplicationPresentationOptions opts = [[activeApps objectAtIndex:0] presentationOptions];
timer = [NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(setupPlayer) userInfo:nil repeats:YES];
if (opts & NSApplicationPresentationFullScreen) {
//Do something
}
}
因此,当我运行代码时,我显然收到以下错误,因为 [activeApps objectAtIndex:0]
是 NSRunningApplication
:
-[NSRunningApplication presentationOptions]: unrecognized selector sent to instance...
关于如何修复它并检查最前面的应用程序是否处于全屏状态有什么想法吗?或者还有其他替代方法可以执行此操作吗?
最佳答案
您可以使用 applescript 来检查最前面的应用程序是否全屏。
脚本可以是这样的,
1) 获取应用程序最前面的窗口。 2) 获取该窗口的属性值“AXFullScreen”。
这会让您知道最前面的应用程序是否全屏。'
希望对你有帮助!!!
关于objective-c - 如何检查最前面的应用程序是否全屏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14115668/