3Jul

Kan programvara skilja mellan en stationär dator och en bärbar dator?

Många programvarulicenser är ganska restriktiva 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 installeras på?Dagens SuperUser Q & A-inlägg har svaret på en nyfiken läsarens fråga.

Dagens fråga &Svarssession kommer till oss med tillstånd av SuperUser-en indelning 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 programvaran faktiskt skiljer 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 tillstånd. Att läsa det fina trycket verkar som att 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 givare i hårdvaruprocedurerna för att bestämma något sådant( dvs närvaro av ett batteri)?

Med tanke på att mjukvaran är fullt fungerande på båda enheterna, skulle detta villkor 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 -start chassit-typ

På en bärbar dator kommer detta att returnera bärbar dator, bärbar dator, bärbar eller subnotebook( beroende på tillverkaren).

För Windows, se följande TechNet-dokumentation för att bestämma datorns chassityp: Identifiera chassitypen för en dator

Följd av svaret från Technik Empire:

För att lägga till det andra svaret här angående Linux kan Windows-programvaran också få tillgång till dettainformation 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, medan jag inte kan säga med säkerhet eftersom jag för närvarande saknar både källkoden i Windows och några officiella dokumentationslänkar, skulle jagsäg att det är en enkel fråga om maskinvaru-ID: erna i datorn, vilket ger denna information till operativsystemet.

Eftersom Windows har ett massivt partnersnätverk som skickar sina drivrutiner direkt till Microsoft( för drivrutinsuppdateringar via Windows Update och "standard" drivrutiner för att inkludera installationsmedier) är det ganska enkelt för Windows att räkna ut exakt vilken typ av dator du hardet installeras på.Bara genom CPU-ID ensam kan du avgöra om det är en stationär dator eller en bärbar dator.

Har något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.