如何查看机器类型?笔记本或台式机如何查看当前机器类型?笔记本电脑或台式机我从http://blog.csdn.net/antimatterworld/archive/2007/11/11/1878710.aspx得到这个并且它在我的家用机器上运行良好(笔记本电脑上的Win2003),它返回“便携式”,但在我的工作机器(笔记本电脑上的Vista)上失败,它返回“其他”。这是代码:publicenumChassisTypes{Other=1,Unknown,Desktop,LowProfileDesktop,PizzaBox,MiniTower,Tower,Portable,Laptop,Notebook,Handheld,DockingStation,AllInOne,SubNotebook,SpaceSaving,LunchBox,MainSystemChassis,ExpansionChassis,SubChassis,BusExpansionChassisPeripheralChassis、StorageChassis、RackMountChassis、SealedCasePC}publicstaticChassisTypesGetCurrentChassisType(){ManagementClasssystemEnclosures=newManagementClass("Win32_SystemEnclosure");foreach(ManagementObjectobjinsystemEnclosures.GetInstance]s()){foreach(inti6in(["ChassisTypes"])){if(i>0&&i<25){return(ChassisTypes)i;}}}返回ChassisTypes.Unknown;这是一篇不错的Microsoft文章,建议查看其他几个WMI类以更好地了解计算机是笔记本电脑还是台式机:http://technet.microsoft.com/en-us/library/cc180825。aspxWin32_SystemEnclosure,ChassisTypes(1)=10Win32_Battery或Win32_PortableBatteryWin32_PCMCIAControllerWin32_DriverVXD.Name="pccard"Win32_ComputerSystem.ManufacturerWin32_ComputerSystem.Model还建议在注册表中查找Power方案。好吧,我可能想在这里解除死亡,但我建议识别笔记本电脑的最可靠方法是盖子状态开关。请参阅GetPwrCapabilities和System_power_Capabilities无需其他未知检查。将条件更改为i>1&&i并记住ChassisTypes是一个数组,其中OS返回他认为是您的系统的内容。可以匹配多种类型。您的代码仅返回第一个匹配项。参见http://www.microsoft.com/technet/scriptcenter/resources/qanda/sept04/hey0921.mspx和http://msdn.microsoft.com/en-us/library/aa387204(VS.85).aspx它says:本文档来源于DMTF发布的CIM类描述。据推测,这意味着制造商必须向Windows提供一些信息才能发现它。我认为没有明确的正确答案,我发现WMI不可靠,但我一直在使用Win32函数GetSystemPowerStatus()来确定是否有系统电池,显然系统电池==笔记本电脑。我从来没有在带有UPS的台式机上尝试过这个?!我很确定这将取决于制造商是否打算在当前芯片组上提供这些数据。如果他们不这样做,那么“其他”是你能做的最好的。查看这篇相关文章,其中也建议直接查询BIOS。为了检查机器是笔记本电脑还是台式机,您可以尝试使用SystemPowerCapabilites.LidPresent或两者来检查电池状态。电池:if(SystemInformation.PowerStatus.BatteryChargeStatus==BatteryChargeStatus.NoSystemBattery){//台式机}else{//笔记本电脑}SystemPowerCapabilites.LidPresent:GetPwrCapabilities(outsystemPowerCapabilites);返回systemPowerCapabilites;}getSystemPowerCapabilites().LidPresent;GetPwrCapabilities定义:http://www.pinvoke.net/default.aspx/powrprof/GetPwrCapabilities.html从HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicespcmcia读取注册表项,“start”值,如果start=0,则笔记本电脑,否则台式机,如果启动不存在或开机!=0以上是C#学习教程:如何查看机器类型?笔记本电脑是台式机共享的所有内容。如果对您有用,需要了解更多C#学习教程,希望您多加关注---本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
