Мне было интересно, не могли бы вы помочь мне понять, как программно получить Отображаемое имя для монитора, используя его Отображаемый идентификатор номер в Mac OS X (10.5)? Требование заключается в том, что если я назначу функции идентификатор дисплея, она предоставит отображаемое имя взамен (или наоборот).
Отображаемое имя выглядит примерно так: «Цветной ЖК-дисплей», «SAMSUNG»
Идентификатор дисплея выглядит примерно так: «69671872», «893830283»
NSScreen в Какао (Obj-C) или CGGetActiveDisplayList в Кварце (C), позволяют получить идентификационный номер дисплея для монитора. Ни один из них не имеет метода для получения отображаемого имени. о нет! Вот код NSScreen для получения идентификатора дисплея:
NSArray *screenArray = [NSScreen screens];
NSDictionary *screenDescription = [[screenArray objectAtIndex:0] deviceDescription];
NSLog(@"Device ID: %@", [screenDescription objectForKey:@"NSScreenNumber"]);
System Profiler и Отображает в Системные настройки , ссылки отображаются по отображаемому имени, а не по идентификатору дисплея.
Я спрашиваю, так как хочу запустить AppleScript, и для него требуется отображаемое имя, а не идентификатор дисплея. Любая помощь высоко ценится! :)