Många mjukvarulicenser är ganska begränsande när det gäller hur och var du kan installera ett program, men hur bra är dessa program för att bestämma vilken typ av enhet de är installerade på? Dagens SuperUser Q & A-inlägg har svaret på en nyfiken läsares fråga.
Dagens Fråga & Svar-session kommer till oss med tillstånd av SuperUser - en underavdelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Foto med tillstånd av Robert (Flickr) .
Frågan
SuperUser-läsare Abhi vill veta om programvara faktiskt kan skilja mellan en stationär dator och en bärbar dator:
En licens för CPU-intensiv programvara som Pix4D säger att den kan installeras på två enheter, men med ett villkor. När man läser det finstilta verkar det som om en enhet kan vara en fullbearbetad skrivbord / arbetsstation medan den andra måste vara en bärbar eller mobil enhet.
Hur skulle programvaran veta vilken typ av enhet den är installerad på? Finns det giveaways i hårdvaruspecifikationerna för att bestämma något liknande detta (dvs. närvaron av ett batteri)?
Med tanke på att programvaran är helt funktionell på båda enheterna, skulle detta tillstånd bli irrelevant om jag bara köper en avancerad bärbar dator som är lika snabb som skrivbordet?
Kan programvara faktiskt skilja mellan en stationär dator och en bärbar dator?
Svaret
SuperUser-bidragsgivare abnev och Technik Empire har svaret för oss. Först upp, abnev:
På Linux kan du köra följande kommando:
- sudo dmidecode –sträng chassityp
På en bärbar dator kommer detta att returnera bärbar dator, bärbar dator, bärbar eller sub-bärbar dator (beroende på tillverkare).
För Windows, se följande TechNet-dokumentation för att bestämma din dators chassityp: Identifiera chassitypen på en dator
Följt av svaret från Technik Empire:
För att lägga till det andra svaret här angående Linux kan Windows-programvara också komma åt denna information genom olika tillhandahållna WinAPI-metoder / objekt. Ett sådant exempel är Win32_ComputerSystem , som bland annat har medlemmar som:
![]()
Möjliga värden inkluderar:
![]()
När det gäller hur Windows vet detta, även om jag inte kan säga med säkerhet för att jag för närvarande saknar både Windows-källkoden och några officiella dokumentationslänkar, skulle jag säga att det är en enkel fråga om maskinvaru-ID: n i datorn som ger denna information bort till operativsystemet systemet.
Eftersom Windows har ett massivt partnernätverk som skickar sina drivrutiner direkt till Microsoft (för drivrutinsuppdateringar via Windows Update och "standard" -drivrutiner som ska inkluderas med installationsmedia) är det ganska enkelt för Windows att räkna ut exakt vilken typ av dator du har den installerad på. Bara vid CPU-ID ensam kan du avgöra om det är en stationär dator eller en bärbar dator.
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa fler svar från andra tekniskt kunniga Stack Exchange-användare? Kolla in hela diskussionstråden här .