Багато ліцензій на програмне забезпечення є досить обмежувальними, коли мова заходить про те, як і де можна встановити програму, але наскільки добре ці програми визначають, на якому типі пристрою вони встановлені? Сьогоднішня публікація запитань SuperUser містить відповідь на цікаве запитання читача.
Сьогоднішня сесія запитань і відповідей надійшла до нас люб’язно від 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? Ознайомтесь із повним обговоренням тут .