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

    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 Question & Answer-session 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äsaren 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 villkor. Läser det fina trycket verkar det 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årdvaruperspecifikationerna för att bestämma något som detta (dvs närvaron 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 -string chassitypen

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

    För Windows, se följande TechNet-dokumentation för att bestämma din chassityp för datorn: 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 om Linux kan Windows-programvaran också få åtkomst till 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 är:

    När det gäller hur Windows vet det här, 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 jag säga att det är en enkel fråga om hårdvaru-ID: erna i datorn som ger den här informationen till driften systemet.

    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 har installerad på. Bara med 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 mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.