Може ли софтуерът да се разграничи между настолен компютър и лаптоп?
Много софтуерни лицензи са доста рестриктивни, когато става въпрос за това как и къде можете да инсталирате програма, но колко добри са тези програми при определянето на какъв тип устройство са инсталирани? Днешната публикация за въпроси и отговори SuperUser има отговор на въпрос на любопитен читател.
Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.
Снимката е предоставена от Робърт (Flickr).
Въпроса
Четецът на суперпотребителя Abhi иска да знае дали софтуерът всъщност може да прави разлика между настолен компютър и лаптоп:
Лиценз за CPU-интензивен софтуер като Pix4D казва, че той може да бъде инсталиран на две устройства, но с едно условие. Четене на финия шрифт, изглежда, че едно устройство може да бъде пълноценен десктоп / работна станция, докато второто трябва да бъде лаптоп или мобилно устройство.
Как софтуерът ще знае какъв тип устройство е инсталиран? Има ли издавания в хардуерните спецификации за определяне на нещо подобно (т.е. наличието на батерия)?
Като се има предвид, че софтуерът е напълно функционален и на двете устройства, това условие ще стане без значение, ако просто си купя лаптоп от висок клас, който е също толкова бърз, колкото и работния плот.?
Може ли софтуерът да прави разлика между настолен компютър и лаптоп?
Отговорът
Отговорът на SuperUser сътрудниците abnev и Technik Empire са за нас. Първо нагоре:
На Linux можете да изпълните следната команда:
- sudo dmidecode -string тип шаси
На лаптоп това ще върне лаптоп, преносим компютър или преносим компютър (в зависимост от производителя).
За Windows вижте следната документация на TechNet, за да определите типа на шасито на компютъра: Идентифициране на типа на шасито на компютъра
Следван от отговора от Technik Empire:
За да добавите към другия отговор тук по отношение на Linux, софтуерът на Windows може също да има достъп до тази информация чрез различни предоставени методи / обекти на WinAPI. Един такъв пример е Win32_ComputerSystem, който има и други членове като:
Възможните стойности включват:
Що се отнася до това как Windows знае това, макар че не мога да кажа със сигурност, защото в момента липсват както изходния код на Windows, така и всички официални връзки към документация, бих казал, че въпросът за хардуера в компютъра, който предоставя тази информация на операционните, е прост. система.
Тъй като Windows има масивна партньорска мрежа, която изпраща драйверите си директно на Microsoft (за актуализации на драйвери чрез Windows Update и „стандартни“ драйвери, които да се включат с инсталационния носител), за Windows е доста лесно да прецени точно какъв компютър го притежавате инсталиран на. Само с идентификатора на процесора можете да определите дали той е настолен компютър или лаптоп.
Имате ли какво да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други технологични потребители на Stack Exchange? Вижте пълната тема за дискусия тук.