如果我将外接显示器连接到我的 MacBook,我将如何检索 MacBook 屏幕?
任何一个屏幕都可以是带有菜单栏和停靠栏的屏幕。它们也可以具有相同的分辨率、相同的名称等。
是否可以在不要求用户拔掉除 MacBook 屏幕之外的所有屏幕的情况下确定它?
如果我将外接显示器连接到我的 MacBook,我将如何检索 MacBook 屏幕?
任何一个屏幕都可以是带有菜单栏和停靠栏的屏幕。它们也可以具有相同的分辨率、相同的名称等。
是否可以在不要求用户拔掉除 MacBook 屏幕之外的所有屏幕的情况下确定它?
您可以使用CGDisplayIsBuiltin()
来确定显示器是否是内置的。
示例代码:
int i = 0;
for(NSScreen* screen in [NSScreen screens]) {
NSDictionary* screenDictionary = [screen deviceDescription];
NSNumber* screenID = [screenDictionary objectForKey:@"NSScreenNumber"];
CGDirectDisplayID aID = [screenID unsignedIntValue];
NSLog(@"Screen number %i is%@ builtin", i, CGDisplayIsBuiltin(aID)? @"": @" not");
i++;
}