Може програмне забезпечення диференціювати між настільним комп'ютером і ноутбуком?
Багато ліцензій на програмне забезпечення є досить обмежувальними, коли йдеться про те, як і де можна встановити програму, але наскільки добре ці програми визначають, на якому типі пристрою вони встановлені? Сьогоднішня стаття SuperUser Q&A має відповідь на запитання цікавого читача.
Сьогоднішня сесія запитань та відповідей приходить до нас люб'язно SuperUser - підрозділ Stack Exchange, групування веб-сайтів із запитаннями та відповідями на рівні спільноти..
Фото надано Робертом (Flickr).
Питання
Читач від суперкористувача Abhi хоче знати, чи може програма розрізняти настільний комп'ютер і ноутбук:
Ліцензія на інтенсивне програмне забезпечення, таке як Pix4D, говорить про те, що вона може бути встановлена на двох пристроях, але з однією умовою. Читаючи дрібний шрифт, здається, що один пристрій може бути повноцінним робочим столом / робочим місцем, а другий - ноутбуком або мобільним пристроєм..
Як би програмне забезпечення знало, який тип пристрою він встановлює? У специфікаціях апаратних засобів існують роз'яснення для визначення подібного (наприклад, наявність акумулятора)?
Враховуючи те, що це програмне забезпечення повністю функціонує на обох пристроях, чи буде ця умова неприйнятною, якщо я купую ноутбук високого класу, який є таким же швидким, як і робочий стіл?
Може програмне забезпечення фактично розрізняти настільний комп'ютер і ноутбук?
Відповідь
Співробітники SuperUser abnev та Technik Empire мають відповідь для нас. Спочатку:
На Linux можна запустити таку команду:
- sudo dmidecode -string chassis-type
На ноутбуці, це поверне ноутбук, ноутбук, портативний або суб-ноутбук (залежно від виробника).
Для Windows зверніться до наступної документації TechNet, щоб визначити тип корпусу комп'ютера: Визначення типу корпусу комп'ютера
Далі йшла відповідь від Technik Empire:
Щоб додати до іншої відповіді тут щодо Linux, програмне забезпечення Windows також може отримати доступ до цієї інформації за допомогою різних наданих методів / об'єктів WinAPI. Одним з таких прикладів є Win32_ComputerSystem, яка, серед інших, має таких членів:
Можливі значення включають:
Що стосується того, як Windows знає це, хоча я не можу з упевненістю сказати, що зараз у мене немає вихідного коду Windows і будь-яких посилань на офіційну документацію, я б сказав, що це просто питання ідентифікаторів апаратних засобів в комп'ютері, що передає цю інформацію операційній системі. системи.
Оскільки Windows має потужну партнерську мережу, яка надсилає свої драйвери безпосередньо до корпорації Майкрософт (для оновлень драйверів за допомогою служби Windows Update і "стандартних" драйверів, що включаються з інсталяційним носієм), Windows досить легко зрозуміти, який саме комп'ютер у вас є встановлено на. Тільки за допомогою ідентифікатора процесора ви можете визначити, чи є це настільний комп'ютер або ноутбук.
Маєте щось додати до пояснення? Звучить в коментарях. Хочете прочитати більше відповідей від інших технологічних користувачів Stack Exchange? Перегляньте повний потік обговорення тут.