42

Лицензия для программного обеспечения с интенсивным использованием процессора, такого как Pix4D, гласит, что его можно установить на два устройства, но с условием. Читая более качественную печать, кажется, что одно устройство может быть рабочей станцией / рабочим столом с полной обработкой, тогда как другое должно быть мобильным устройством / ноутбуком.

Как программное обеспечение узнает? Существуют ли в технических характеристиках оборудования раздачи для определения чего-либо подобного, например, наличие батареи?
Учитывая, что программное обеспечение полностью функционирует на обеих машинах, не станет ли это условие бесполезным, если я просто куплю высококлассный ноутбук, который так же быстр, как рабочая станция?

4 ответа4

54

В Linux вы можете запустить следующую команду:

sudo dmidecode --string chassis-type

На ноутбуке возвращается "Портативный компьютер", "Портативный компьютер", "Портативный" или "Дополнительный ноутбук" (в зависимости от производителя).

Для Windows обратитесь к следующей документации, чтобы определить тип корпуса вашего компьютера:

Определение типа корпуса компьютера

13

Чтобы добавить другой ответ здесь: Linux, программное обеспечение Windows также может получить доступ к этой информации через различные предоставляемые методы / объекты WinAPI. Одним из таких примеров является Win32_ComputerSystem, которая, среди прочего, имеет такие элементы, как:

PCSystemTypeEx

Data type: uint16
Access type: Read-only

Type of the computer in use, such as laptop, desktop, or Tablet.

Возможные значения включают в себя:

Unspecified (0)
Desktop (1)
Mobile (2)
Workstation (3)
Enterprise Server (4)
SOHO Server (5)
Appliance PC (6)
Performance Server (7)
Slate (8)
Maximum (9)

Что касается того, как Windows знает это, хотя я не могу сказать с уверенностью, потому что в настоящее время мне не хватает ни исходного кода Windows, ни каких-либо ссылок на официальную документацию, я бы сказал, что это просто вопрос идентификаторов оборудования на компьютере, которые передают эту информацию ОС. Поскольку Windows имеет обширную партнерскую сеть, которая отправляет свои драйверы непосредственно в Microsoft (для обновления драйверов через Центр обновления Windows, "стандартные" драйверы, включаемые в установочный носитель), для Windows довольно легко точно определить, какой тип компьютера вы установили. это на. Только по одному идентификатору процессора вы можете сделать довольно безопасную ставку, будь то ноутбук или настольный компьютер.

3

Есть разные намеки. Одним из них является "тип системы" в данных DMI. Другой вопрос - есть ли в системе аккумулятор. Еще один тип - это процессор, чипсет, контроллер дисплея, дисплей и т.д. Ни один из них не является надежным, но, собрав их вместе, было бы довольно легко написать классификатор, который сгруппировал бы системы в "почти наверняка ноутбук", «почти наверняка рабочий стол / рабочая станция "и" не определено ".

Но, честно говоря, обеспечение лицензирования с помощью технических / активационных методов, как правило, направлено на предотвращение масштабных злоупотреблений. Мелкомасштабные злоупотребления, скорее всего, будут решаться с помощью проверок, рассерженных сотрудников, выдававших своих начальников и т.д.

Учитывая, что программное обеспечение полностью функционирует на обеих машинах, не станет ли это условие бесполезным, если я просто куплю высококлассный ноутбук, который так же быстр, как рабочая станция?

Если вы можете купить ноутбук, который работает так же быстро, как ваша рабочая станция, у вас должна быть довольно низкая (или старая) рабочая станция.

2

Код, который использовался для написания программного обеспечения, может определить, на каком типе "шасси" оно работает в настоящее время.

Смотрите этот ответ для примера в C #. Это может определить, относится ли компьютер к одному из следующих типов (некоторые, по-видимому, повторяются и / или устарели):

  • Другой
  • неизвестный
  • рабочий стол
  • LowProfileDesktop
  • плоский ящик
  • MiniTower
  • башня
  • портативный
  • портативный компьютер
  • Ноутбук
  • портативный
  • Док-станция
  • Все в одном
  • субноутбук
  • SpaceSaving
  • Коробка для ланча
  • MainSystemChassis
  • ExpansionChassis
  • субшасси
  • BusExpansionChassis
  • PeripheralChassis
  • StorageChassis
  • RackMountChassis
  • SealedCasePC

Также по поводу моего комментария о том, что они кажутся повторяющимися - это было моим мнением - просто просматривая список, он, кажется, был создан ad hoc за эти годы и, похоже, не является MECE. Действительно, я несколько раз говорил о том, что необходимость разграничения между некоторыми из вышеперечисленных форм-факторов больше не актуальна и не понята (например, см. Это краткое изложение подпункта.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .