Wiele licencji na oprogramowanie jest dość restrykcyjnych, jeśli chodzi o to, jak i gdzie można zainstalować program, ale jak dobre są te programy w określaniu typu urządzenia, na którym są zainstalowane? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na pytanie zaciekawionego czytelnika.
Dzisiejsza sesja pytań i odpowiedzi jest dostępna dzięki uprzejmości SuperUser - części Stack Exchange, grupy witryn internetowych z pytaniami i odpowiedziami.
Zdjęcie dzięki uprzejmości Robert (Flickr) .
Pytanie
Czytnik SuperUser Abhi chce wiedzieć, czy oprogramowanie faktycznie potrafi rozróżnić komputer stacjonarny od laptopa:
Licencja na oprogramowanie obciążające procesor, takie jak Pix4D mówi, że można go zainstalować na dwóch urządzeniach, ale pod jednym warunkiem. Czytając drobny druk, wydaje się, że jedno urządzenie może być w pełni przetwarzającym komputerem stacjonarnym / stacją roboczą, podczas gdy drugie musi być laptopem lub urządzeniem mobilnym.
Skąd oprogramowanie wie, na jakim typie urządzenia jest zainstalowane? Czy w specyfikacji sprzętu są jakieś upominki, które pozwalają określić coś takiego (tj. Obecność baterii)?
Biorąc pod uwagę, że oprogramowanie jest w pełni funkcjonalne na obu urządzeniach, czy ten warunek stałby się nieistotny, gdybym kupił tylko wysokiej klasy laptopa, który jest tak samo szybki jak komputer stacjonarny?
Czy oprogramowanie faktycznie może odróżnić komputer stacjonarny od laptopa?
Odpowiedź
Dostawcy SuperUser abnev i Technik Empire mają dla nas odpowiedź. Po pierwsze, abnev:
W systemie Linux możesz uruchomić następujące polecenie:
- sudo dmidecode –string typ obudowy
W przypadku laptopa spowoduje to zwrot laptopa, notebooka, przenośnego lub sub-notebooka (w zależności od producenta).
W przypadku systemu Windows zapoznaj się z następującą dokumentacją TechNet, aby określić typ obudowy komputera: Identyfikacja typu obudowy komputera
Następnie odpowiedź od Technik Empire:
Aby dodać do innej odpowiedzi dotyczącej Linuksa, oprogramowanie Windows może również uzyskać dostęp do tych informacji za pośrednictwem różnych dostępnych metod / obiektów WinAPI. Jednym z takich przykładów jest Win32_ComputerSystem , która ma między innymi takich członków jak:
![]()
Możliwe wartości to:
![]()
Jeśli chodzi o skąd Windows to wie, chociaż nie mogę powiedzieć z całą pewnością, ponieważ obecnie brakuje mi zarówno kodu źródłowego systemu Windows, jak i jakichkolwiek linków do oficjalnej dokumentacji, powiedziałbym, że jest to prosta kwestia identyfikatorów sprzętu w komputerze, które przekazują te informacje do operatora system.
Ponieważ system Windows ma ogromną sieć partnerów, która przesyła swoje sterowniki bezpośrednio do firmy Microsoft (w celu aktualizacji sterowników za pośrednictwem usługi Windows Update i „standardowych” sterowników dołączanych do nośnika instalacyjnego), system Windows może łatwo zorientować się, jaki masz komputer. zainstalowany na. Tylko przez Identyfikator procesora sam możesz określić, czy jest to komputer stacjonarny, czy laptop.
Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych zaawansowanych technicznie użytkowników Stack Exchange? Sprawdź cały wątek dyskusji tutaj .