Домашняя » как » Может ли программное обеспечение различать настольный компьютер и ноутбук?

    Может ли программное обеспечение различать настольный компьютер и ноутбук?

    Многие лицензии на программное обеспечение довольно ограничительны, когда речь идет о том, как и где вы можете установить программу, но насколько хороши эти программы для определения, на каком типе устройства они установлены? Сегодняшний пост 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 довольно легко точно определить, какой у вас компьютер. установлен на. Только по одному идентификатору процессора вы можете определить, настольный ли это компьютер или ноутбук.


    Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.