Comment vérifier le type de machine actuel? ordinateur portable ou de bureau?Comment vérifier le type de machine? ordinateur portable ou de bureau?
Je l'ai eu de http://blog.csdn.net/antimatterworld/archive/2007/11/11/1878710.aspx, ça marche bien sur ma machine à la maison (Win2003 sur ordinateur portable), elle renvoie "Portable", mais échoué sur mon ordinateur de travail (Vista sur ordinateur portable), elle renvoie "Autre".
est le code ici:
public enum ChassisTypes
{
Other = 1,
Unknown,
Desktop,
LowProfileDesktop,
PizzaBox,
MiniTower,
Tower,
Portable,
Laptop,
Notebook,
Handheld,
DockingStation,
AllInOne,
SubNotebook,
SpaceSaving,
LunchBox,
MainSystemChassis,
ExpansionChassis,
SubChassis,
BusExpansionChassis,
PeripheralChassis,
StorageChassis,
RackMountChassis,
SealedCasePC
}
public static ChassisTypes GetCurrentChassisType()
{
ManagementClass systemEnclosures = new ManagementClass("Win32_SystemEnclosure");
foreach (ManagementObject obj in systemEnclosures.GetInstances())
{
foreach (int i in (UInt16[ ])(obj["ChassisTypes"]))
{
if (i > 0 && i < 25)
{
return (ChassisTypes)i;
}
}
}
return ChassisTypes.Unknown;
}
Intéressant. Qu'est-ce que vous essayez d'accomplir? Essayez-vous simplement de déterminer si la machine est susceptible d'être utilisée à l'extérieur du bureau? –
Je suis avec John Saunders: qu'essayez-vous d'accomplir? Il existe un moyen fiable de vérifier si la machine fonctionne sur une batterie - est-ce ce que vous espérez trouver en demandant un ordinateur portable ou non? –
Il n'y a pas de mesure fiable pour déterminer quel est le facteur de forme d'un système; de plus, vous n'avez aucun moyen de déterminer quels facteurs de forme futurs pourraient éventuellement ressembler à un appareil portable actuel en raison de mesures spécifiques. La vraie question ici est pourquoi diable est le facteur de forme du système que votre code fonctionne sur important? –