Многие лицензии на программное обеспечение довольно жесткие, когда дело доходит до того, как и где вы можете установить программу, но насколько хорошо эти программы определяют, на каком типе устройства они установлены? В сегодняшнем посте SuperUser Q&A есть ответ на любопытный вопрос читателя.
Сегодняшняя сессия вопросов и ответов проходит благодаря SuperUser - подразделению Stack Exchange, группы веб-сайтов вопросов и ответов, управляемой сообществом.
Фото любезно предоставлено Роберт (Flickr) .
Вопрос
Читатель SuperUser Абхи хочет знать, действительно ли программное обеспечение может различать настольный компьютер и ноутбук:
Лицензия на программное обеспечение с интенсивным использованием ЦП, например Pix4D говорит, что его можно установить на два устройства, но с одним условием. Читая мелкий шрифт, кажется, что одно устройство может быть полнофункциональным настольным компьютером / рабочей станцией, тогда как второе должно быть ноутбуком или мобильным устройством.
Как программа узнает, на каком типе устройства она установлена? Есть ли в технических характеристиках оборудования раздачи для определения чего-то подобного (например, наличия батареи)?
Учитывая, что программное обеспечение полностью функционально на обоих устройствах, станет ли это условие несущественным, если я просто куплю ноутбук высокого класса, который будет таким же быстрым, как настольный компьютер?
Может ли программное обеспечение действительно отличать настольный компьютер от ноутбука?
Ответ
У разработчиков SuperUser abnev и Technik Empire есть ответ. Сначала абнев:
В Linux вы можете выполнить следующую команду:
- sudo dmidecode - строка типа шасси
На портативном компьютере это вернет портативный компьютер, портативный компьютер или дополнительный ноутбук (в зависимости от производителя).
Для Windows обратитесь к следующей документации TechNet, чтобы определить тип корпуса вашего компьютера: Определение типа корпуса компьютера
Далее следует ответ от Technik Empire:
Чтобы добавить к другому ответу здесь, касающемуся Linux, программное обеспечение Windows также может получить доступ к этой информации с помощью различных предоставленных методов / объектов WinAPI. Одним из таких примеров является Win32_ComputerSystem , в который, среди прочего, входят:
![]()
Возможные значения включают:
![]()
Что касается того, как Windows это знает, хотя я не могу сказать с уверенностью, потому что в настоящее время мне не хватает как исходного кода Windows, так и каких-либо официальных ссылок на документацию, я бы сказал, что это простой вопрос идентификатора оборудования на компьютере, который передает эту информацию операционному персоналу. система.
Поскольку у Windows есть обширная партнерская сеть, которая отправляет свои драйверы напрямую в Microsoft (для обновлений драйверов через Центр обновления Windows и «стандартных» драйверов для включения с установочным носителем), Windows довольно легко определить, какой именно компьютер у вас есть. установлен на. Просто по ID процессора в одиночку вы можете определить, настольный это компьютер или ноутбук.
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь .