2024年4月22日发(作者:)

C#通过.NetFramework 4.0的WMI获取计算机软硬件信息的方法

public void Form1_Load( sender, rgs e)

{

string dTag, CVN, DVN;

/*("当前用户:" + me +

"nr计算机名:" + eName +

"nr框架版本:" + n +

"nr操作系统:" + ion ,"热网通讯程序2014",

, ation);

*/

// 获取BIOS序列号--品牌机一般为 Service Tag

ManagementClass c = new ManagementClass("Win32_BIOS");

foreach (ManagementObject o in tances())

{

try

{

ServiceTag = (string)o["SerialNumber"];

ServiceTag = ();

r();

}

catch (Exception ex)

{

(e, "热网通讯程序2014");

//(-1);

}

}

/*//获取第一块硬盘序列号

c = new ManagementClass("Win32_PhysicalMedia");

foreach (ManagementObject o in tances())

{

try

{ // U 盘的Tag时有时无, 序列号一般为null.

// 第一块硬盘一般为PHYSICALDRIVE0

dTag = (string)o["Tag"];

if (((dTag == @".PHYSICALDRIVE0") || (dTag ==

"PHYSICALDRIVE0")) && ((string)o["SerialNumber"] != null))

{

HDInfo = (string)o["SerialNumber"];

HDInfo = ();

r();

//("第一块硬盘序列号:" + HDInfo, "热网通讯

程序2014", , ation );

}

}

catch //(Exception ex)

{

("未知错误(-2)。", "热网通讯程序2014");

(-2);

}

}*/

//获取C,D逻辑盘卷标号

c = new ManagementClass("Win32_LogicalDisk");

foreach (ManagementObject o in tances())

{

try

{

dTag = (string)o["Name"];

if ((dTag == "C:") || (dTag == "c:"))

{

CVN = (string)o["VolumeSerialNumber"];

iCVN = 32(CVN, 16);

}

if ((dTag == "D:") || (dTag == "d:"))

{

DVN = (string)o["VolumeSerialNumber"];

iDVN = 32(DVN, 16);

}

Calc_Str = ng(iCVN ^ iDVN ^ 0x53682076 ^ 0x3159 ^

0x6666);//=0x53687749

Int32 yy = ;

if (yy > 99) yy = yy % 100;

Calc_Str1 = ng(iCVN ^ iDVN ^ 0x20762079 ^ yy);

}

catch (Exception ex)

{

(e, "热网通讯程序2014");

(-2);

}

}

("序列号:" + ServiceTag_Str, "热网通讯程序2014",

, ation);

}