使用.NET的WMI获取系统硬件信息

上一篇 / 下一篇  2008-03-07 16:49:24 / 个人分类:电脑技术

1y ]W!m2O5v)v0usingSystem;友商社区 ^y} On+RK(^
usingSystem.Management;
UD H*ve0namespaceSoyee.Comm
$LOD _T }h#H0{友商社区-T+Tyb$[:L
///<summary>
5_Ym__z x0///计算机信息
,cr If,Y1_7o;pn0V0///</summary>
_ D4{[5E'MS0publicclassComputer友商社区:x4SR `%};D0j ~,I
{
V:tJD?U%tc#tJ0publicstringCpuID;友商社区B,x/iR3O V6q7z
publicstringMacAddress;友商社区 p X ^b*b:N
publicstringDiskID;
{7ZUTd*o;_0publicstringIpAddress;
e2@q8_*V0J&cy0publicstringLoginUserName;
\Y7ch_T!s:v.BD0publicstringComputerName;
8~u'BR-H,oCcR$f0publicstringSystemType;
E}rLy3a^0publicstringTotalPhysicalMemory;//单位:M
eSf2u)Xe0privatestaticComputer_instance;友商社区6k+Px!s3a%K
publicstaticComputerInstance()
-rZ-R,tD i7Kj J4q0{友商社区?HdZ"lx@u
if(_instance==null)
O naVJ&DU0_instance=newComputer();
2_%\:?9s3ye&E|I0return_instance;
bpR ]$WL0}友商社区*B;H._LZu
publicComputer()友商社区5v]fH:u&Ovp R
{友商社区dq!i4[ e;`3S
CpuID=GetCpuID();友商社区sB R*t\QG
MacAddress=Ge**cAddress();友商社区aP| ~Ff
DiskID=GetDiskID();
6pvZ,M m$f0IpAddress=GetIPAddress();
gc+{l9h0LoginUserName=GetUserName();
X\ O*k5u3c'NyJ0SystemType=GetSystemType();
_b1X9g7a0M/E r0m0TotalPhysicalMemory=GetTotalPhysicalMemory();友商社区vp&aGEX^
ComputerName=GetComputerName();
0e/N2D n3Wxt4\G0}友商社区,F*y$z4S&@}y
stringGetCpuID()友商社区Y4Nb!k&Q/a P4whJ
{
nf&f K(j h0try
g-B{[lJ&gl0{
X4apY,AJ&|0//获取CPU序列号代码友商社区{y8aYFF!Z
stringcpuInfo="";//cpu序列号友商社区2L-gC tHA S8X^n
ManagementClassmc=newManagementClass("Win32_Processor");友商社区j(\P ?[$x mFVt
ManagementObjectCollectionmoc=mc.GetInstances();友商社区 P.g;qF'~M
foreach(ManagementObjectmoinmoc)友商社区 k~0B]I:l,S
{友商社区{C$I'`$J(z}k:y [
cpuInfo=mo.Properties["ProcessorId"].Value.ToString();友商社区"^ F:Sx Q_ _
}
3v-a-dk/r Yc0moc=null;友商社区ur&X'Yo
mc=null;友商社区4W VJ{&oD6F/~*|
returncpuInfo;
/wCq {$C0}友商社区S1jF8R0o5s6P7q
catch友商社区^+@?:eC d
{友商社区'Y8|(Y3e(v"w
return"unknow";
E0v tp0b rA-o1ft0}友商社区1[X7EM9BBZ&V`~4j
finally友商社区t D8}T6ZX,v8AN
{
I.q;VR,`0}友商社区y @:F4@{

友商社区-ur V4_"^)^

}
*a(f \"R%`.k0stringGe**cAddress()友商社区bh2b?2M3f
{
"` FE2N4V])Q0try
Fk@%t&~T-Q/w3X0{友商社区9Q7N'q)nl_ eHB1A N
//获取网卡硬件地址
w&U qX*m"R)n0stringmac="";
bM'}K2tM0ManagementClassmc=newManagementClass("Win32_NetworkAdapterConfiguration");
0s`mFD5X,y*i0ManagementObjectCollectionmoc=mc.GetInstances();
N*z)x2m%i&sE7OA%X0foreach(ManagementObjectmoinmoc)
nHF,|y0{友商社区?J*AHS0}"J
if((bool)mo["IPEnabled"]==true)
IR:s!N*v5m sF0{
$r4dC)m?:ZM0V @ n*iv0mac=mo["MacAddress"].ToString();友商社区;Z BF_6eB|
break;友商社区y1C4d L2H R-n
}友商社区xQU ]"Pu.V Dk3r
}
}&E2q0W%jqjW s0moc=null;
-Qhqk_)eE^'n0mc=null;友商社区:\e5zi7F(G`
returnmac;友商社区Vn^&w(h8P4^-D,\a
}友商社区;J&LL L-I/O Oef8?{
catch友商社区0L)k4q.^c'z(B8t+f\(\ V
{
5m"_*G HO,S0return"unknow";友商社区O9U8r~z/iwW#VN4tV
}友商社区K zc@oY#Ua
finally
4vP-h!M D/Y8y|0{
"}l P la0}友商社区1d"B6IH:q:DS a#B

友商社区 h/c,^C%k&n nF

}
w/i.F `!U ]L X y0stringGetIPAddress()友商社区+|/p9S1Z)d Kd.n
{友商社区TG/_J m%v&b
try
tGxH$Z[+z0?0{友商社区3A$F@!``&K'p'H
//获取IP地址友商社区 ^RzA*~
stringst="";友商社区%l%n9BN4^y@
ManagementClassmc=newManagementClass("Win32_NetworkAdapterConfiguration");友商社区;K:r6|BX$ah M8R@@
ManagementObjectCollectionmoc=mc.GetInstances();友商社区$pi*H*s l}5t A!J
foreach(ManagementObjectmoinmoc)
Gb2z.Y|&{,u0{
+M-N}0Ci%]8A?-m id0U0if((bool)mo["IPEnabled"]==true)友商社区[4q7ljiJWn,_
{
5m Ai+{cx0L3o0//st=mo["IpAddress"].ToString();
)At{fMZ+np @0System.Arrayar;
ti%i8jn"g0ar=(System.Array)(mo.Properties["IpAddress"].Value);
!Zmva%u%q4f fq0st=ar.GetValue(0).ToString();
+F^d!]]&_:PR0break;
N.K[Ce;To ?8D0}友商社区1@]-G;z5q#s;?l.Ss
}
(x6j iQ[ q{r$ZH0i0moc=null;友商社区}{p#?*TtK
mc=null;友商社区IM8@\/RI
returnst;
dL A}hv S0}
-S4q(@"c9bS8~T6g0catch
h`E$q*c4WQ0{友商社区r#|M#Mw ~lwJ
return"unknow";
{@lzs/z0}
.m0ah._~P+z6_dv0finally友商社区7e{!T'x0I0U0A+E
{
/qc6sT,e,l5d0}友商社区 Z$ZnpQ b!G${W

友商社区#Z3N'_RK:r5BnX*V

}友商社区O]F;FU1T \ U4\

#^ _;X~Y$WL,bd0stringGetDiskID()友商社区;`9fdy7Q;q
{友商社区.r PWMKg2e2NZI1Dn
try
{n@ Ea0{友商社区Ybq4j)ju yQ
//获取硬盘ID友商社区 B0a9Ah0gB
StringHDid="";友商社区/d^O-| o.p
ManagementClassmc=newManagementClass("Win32_DiskDrive");
k C.t} cqA y6Ic)QC0ManagementObjectCollectionmoc=mc.GetInstances();友商社区W5WWyw_ A[9O
foreach(ManagementObjectmoinmoc)
M'R,v)FZav0{友商社区*f0z3[0M;Z-EQ
HDid=(string)mo.Properties["Model"].Value;
V-m$f3Y~d.h?G0}友商社区-y#n iR*w
moc=null;友商社区,~$f/t4Kux^4U@+l
mc=null;友商社区WlI3p)Zo+r
returnHDid;友商社区-q!z6Gi&?#Q'L m
}
7i2zW'@q S~O0catch友商社区~:m6L9j1{%[4{;kA
{友商社区:Y L`#j]_![&h!J\
return"unknow";
C/[N-vtQ8i/Bp0}友商社区4P5Gs1kA [i2v&O
finally
Q0n1dz!j%O0{
.Xh _\E&]0}友商社区#\ iU1x9i `Z

:{P4A(v"T2x1o,y4g0}

#D7r6Fz}7vqv0

y M7v9[A`g0`#S%R0///<summary>
e(U hJ9REN0///操作系统的登录用户名
"Xe3AD3}0} k,im0///</summary>
t9M2N;X*[U MDq0///<returns></returns>友商社区J/FJ2b)@8M
stringGetUserName()
8RN5`#Ft |m/^ u0{友商社区 sS a+}&} ?
try友商社区F|H0?5i_
{友商社区u3rDRK2s pz
stringst="";
hY"R#VuLLd:J#~m%O0ManagementClassmc=newManagementClass("Win32_ComputerSystem");
E X&@5t_ R)N`v0ManagementObjectCollectionmoc=mc.GetInstances();
"Wv#UuV3Zg3f v0foreach(ManagementObjectmoinmoc)
4QJ(GK,c&tf(Y?,F#U0{

!F%`x@N%Lyc:xS T0

`3Xq&R2sCB c6I0st=mo["UserName"].ToString();

1D e9dL-a O"p R0

/z4B\#K!b)jSf0]%_J6v0}
#z|!A s@'x0moc=null;
2\;l0t(I+JThw0mc=null;友商社区U&H%R?V YT j^ ?
returnst;友商社区[9N;W0UA \ F
}友商社区HJ`L:RXwK
catch
@R@A0XF0{
RbN^ M0return"unknow";友商社区 j&Cz+tOtJ l+P-~
}友商社区 ~9X7L}MV]
finally
{2LC"kY7M%?M5u0{
%^ AA5Hcq0}友商社区2_}$b'u5Y)H#Ni

G)jhl];K0}

+A"@x2I(j_;N0

sL-\:F&zUW:U%Th0
'e8S2[5k9hW0///<summary>
4@I4c9P t*s+K'\0///PC类型
.BUw bXS0///</summary>友商社区G"F xiFjG(q9w1XYb
///<returns></returns>友商社区o+v@Vg_0i K
stringGetSystemType()友商社区oM&w6T'BSI'?.@5^#a
{
2op:} X1?0try友商社区r/u(a+_4g
{
'P%LP2J,z1Opa0stringst="";友商社区5Y.]M:AX#@7a[
ManagementClassmc=newManagementClass("Win32_ComputerSystem");友商社区 P)| \7ED7lAg9k
ManagementObjectCollectionmoc=mc.GetInstances();
"uG4SpKC V0foreach(ManagementObjectmoinmoc)
l }2WfWX0{友商社区,}1_ huUj}i)j

b _.e{R-h&J{0st=mo["SystemType"].ToString();

e!t+Iy$ip)E:n0友商社区Y-J'WTR:Tn3`p

}
3ap#D|(t ^I/g0moc=null;友商社区.L+Z;Qn J8u
mc=null;
*Q4y z$Tf$N],f0returnst;友商社区m0`K `1x+Nxr
}友商社区1J!}|UyA Ih
catch友商社区%Tr n7yl8yw:Iy2qZ
{友商社区 Fr Ag0`9?T2f
return"unknow";友商社区'_"R Z!?$OPfDi Q
}友商社区M)i9Q5^G DI*xrY
finally
N~GX0vR+tl e[0{友商社区P#t k#^4q
}

u;ge2a` _#Y5QR0友商社区kV;~z8qJ}

}

gV0KJ}Ze kB!^.@0

$k1A]!K6F9S#a0///<summary>友商社区)gsbH-z'O%T
///物理内存友商社区} D[3^*V-q
///</summary>
b^1iQ&_j W{r0///<returns></returns>友商社区9I}9e6Q-qU7r+h
stringGetTotalPhysicalMemory()友商社区%H0P|$F+x;GW`
{
$pM.I3P_#K5N0try友商社区.WKa J$X G
{友商社区!Wur&vX4p4W0@

y Qj {K+D{&B0stringst="";友商社区2H+E/_C/z3n7M:cc
ManagementClassmc=newManagementClass("Win32_ComputerSystem");友商社区-nC'D6} f$z%BiQ1v `
ManagementObjectCollectionmoc=mc.GetInstances();
VM|qVS4[:H Yu3t0foreach(ManagementObjectmoinmoc)友商社区c Z5J4cd%MX4pg?
{

|3t E lQr I1C"y3_7`0

3@L)M'n _"CZE0st=mo["TotalPhysicalMemory"].ToString();友商社区su h6Pb*iv#\G

友商社区zOc\J0N9xs

}
-]}mm5VNWt0moc=null;友商社区vRLt$hl4]^
mc=null;友商社区 LT)]x^
returnst;友商社区X(y2|+[8Q
}友商社区R6d1KSu5rsv
catch
!L-NG O8ZP)P'L0dcD0{
-Qd(gcc0return"unknow";友商社区4WI|f;cO
}
x!cv0b#xiL m[{7i9X0finally
OIyWx)j9r0{
&PA8z%z5F%S$qL0}友商社区? L;@)Q MC
}
H&t*X;x1?9@0///<summary>
H G(bF+i9Z2VEx0///获取计算机名称友商社区`/Vo w S.A#^(F
///</summary>友商社区K's_pm.|b9lR
///<returns></returns>
s+S @,e2fh v:Yr0stringGetComputerName()
kB(Tt;X os0{友商社区-NDXiN/[0i
try友商社区]/l3l]1T0f4x2e*AH
{友商社区N{;xW0c{ |M(`
returnSystem.Environment.GetEnvironmentVariable("ComputerName");
P? k8a%T~+paS0}友商社区&`5`2Yi*VK]s
catch
,O*ly`C e0~oG0{友商社区H8v ~7Z5cd+x1[.C^
return"unknow";友商社区&k.ASA u
}友商社区4S|'Mn"t u,kvz
finally
bi*{.yZM R+}!V [0{
WS5Ye*aYF"[s0}友商社区;SAz\wvf/E
}友商社区$x$Y.s?#d:@p
}友商社区]&D(i(K#^%Z?6j
}友商社区} L$jF'hyr nF


TAG:

BSBSBSBS的个人空间 引用 删除 BSBSBSBS   /   2008-04-26 18:18:15
To Convert Your Sedentary Lifestyle


改变你久坐不动生活方式的14个简单方法

We all know we need to exercise more ? our lifestyles are way too sedentary compared to that of the previous generations. It's not all our fault. The days of the 9 to 5 job are long over and despite huge advances in technology, our lives seem to be a lot busier compared than that of previous generations.

Even when I have been motivated to get a gym membership and start exercising, it only lasts for a few months. At the first sign of stress and deadlines at work, the gym routine gets kicked off the list. So here are a few tricks to include some activity in daily habits to take it from a sedentary lifestyle to a mildly active one.
?     Park far away: Instinctively, almost all of us look for a spot as close to our destination as possible. Instead get into the habit of parking a block away, or parking at the farthest parking spot. If you are grocery shopping, park in the store's lot but choose the back row. Clearly you wouldn't want to be caught pushing a shopping cart down the street trying to get to your car.
?     Take the stairs instead of elevators: If it is one or two floors, always take the stairs. If you need to go up/down several floors then take the stairs to two floors above/below and then take the elevator. As you get used to it, increase the number of floors you use the stairs for. If you park in a level parking lot, always park in one of the higher levels and walk down.
?     If possible, walk or bike to work: This is not possible for everyone, but if you live in a place where the pollution is less and your workplace is relatively close by, then choose to walk or bike instead of driving.
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-21  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 1996
  • 日志数: 34
  • 图片数: 1
  • 建立时间: 2007-11-12
  • 更新时间: 2008-10-17

RSS订阅

Open Toolbar