Làm cách nào để kiểm tra loại máy hiện tại? máy tính xách tay hoặc máy tính để bàn?Làm thế nào để kiểm tra loại máy? máy tính xách tay hoặc máy tính để bàn?
Tôi nhận được điều này từ http://blog.csdn.net/antimatterworld/archive/2007/11/11/1878710.aspx, nó hoạt động tốt trên máy tính gia đình của tôi (Win2003 trên máy tính xách tay), nó trả về "Portable", nhưng không thành công trên máy tính của tôi (Vista trên máy tính xách tay), nó trả về "Khác".
đây là mã:
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;
}
Thú vị. Bạn đang cố gắng để thực hiện? Bạn chỉ đang cố gắng xác định xem máy có khả năng được sử dụng bên ngoài văn phòng không? –
Tôi với John Saunders: bạn đang cố gắng đạt được điều gì? Có một cách đáng tin cậy để kiểm tra xem máy có đang chạy bằng pin không - đó có phải là những gì bạn đang hy vọng tìm ra bằng cách hỏi máy tính xách tay hay không? –
Không có số liệu đáng tin cậy để xác định hệ số dạng nào là hệ thống; hơn nữa, bạn không có cách nào để xác định những yếu tố hình thức tương lai có thể có thể 'nhìn' như một thiết bị máy tính xách tay hiện tại cho bất kỳ số liệu cụ thể nào. Câu hỏi thực sự ở đây là tại sao trên trái đất là yếu tố hình thức của hệ thống mã của bạn đang chạy trên quan trọng? –