科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件vb.NET中得到计算机硬件信息的一些功能

vb.NET中得到计算机硬件信息的一些功能

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

vb.NET中得到计算机硬件信息的一些功能

作者:newhong 来源:赛迪网技术社区 2007年11月28日

关键字: 功能 硬件信息

  • 评论
  • 分享微博
  • 分享邮件
在.net中得到计算机硬件信息的一些功能 hr4|AwA/  
AF57Chi  
  H|[W!X~  
  @`jfPbQW  
  2qK6r]  
  >9'f%tQ/  
得到显示器分辨率 ;?13\AP  
Dim X As Short = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width Am0fh@ ~  
Dim Y As Short = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height |Ry?wFZ 2  
MsgBox("您的显示器分辨率是:" & X & " X " & Y) V|Pq!Wmb?  
]7G%O!Fl]  
得到特殊文件夹的路径 Jmbdi|(@U  
'"Desktop"桌面文件夹路径 Q6EXw_q  
MsgBox(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)) qXbBwsJ  
'"Favorites"收藏夹路径 [(s_  
MsgBox(Environment.GetFolderPath(Environment.SpecialFolder.Favorites)) R[,dH;y  
'"Application Data"路径 h4TGL6l  
MsgBox(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)) ZbO5bRC (  
0'Y?ET6h  
'通用写法 &rO9#y@  
'Dim SPEC As String = Environment.GetFolderPath(Environment.SpecialFolder.XXXXXXX) [  !hn  
'XXXXXXX是特殊文件夹的名字 <cOWu,  
UO(qN  
得到操作系统版本信息 Ea6"j]m'  
MsgBox(Environment.OSVersion.ToString) BlR-v?}y  
sWZA3^  
得到当前登录的用户名 35iw0Jxd!  
MsgBox(Environment.UserName) C ROnia|   
S>! r^ 1  
得到当前应用程序的路径 ^zI$ro^9  
MsgBox(Environment.CurrentDirectory) H%<`QZ%ET  
La_@&0  
打开和关闭CD-ROM B]^qi ZP  
'先新建模块 ?]$:!Qvk  
Module mciAPIModule F|e6hH==  
  Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _ Z-4Dd=4O  
  (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _ "" 7,  
  ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer ['j~s@:j;  
End Module +0Ku  
B@64D  
'打开CD-ROM 2QQ=DD ?@  
Dim lRet As Long ^9Y9 HQ  
lRet = mciSendString("set cdAudio door open", 0&, 0, 0) 8@.y @D.@5  
Z;R&e5:t  
'关闭CD-ROM ya)CR#  
Dim lRet As Long AH2q1OcZ  
lRet = mciSendString("set cdAudio door Closed", 0&, 0, 0) vtzl6@P  
/+_1)  
0Z\?5(wY  
得到计算机IP和计算机全名 0B'r_UR  
Dim MYIP As System.Net.IPHostEntry = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName) C6wSacli/  
MsgBox("您的IP地址:" & (MYIP.AddressList.GetValue(0).ToString)) i C`m~k3T  
MsgBox("您的计算机全名:" & (MYIP.HostName.ToString)) )%M@K)@$7  
2@/k"  
使用win32_operatingSystem (wmi Class)得到计算机信息 Amzj Z"B  
'添加ListBox在Form1_Load事件里,并引用system.Managment OYw.;*7  
Dim opSearch As New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem") Wa#W&09Z}  
Dim opInfo As ManagementObject umUj,/L  
For Each opInfo In opSearch.Get() nrS6[x:T1  
  ListBox1.Items.Add("Name: " & opInfo("name").ToString()) WJZC_I{  
  ListBox1.Items.Add("Version: " & opInfo("version").ToString()) 4 )a< p  
  ListBox1.Items.Add("Manufacturer: " & opInfo("manufacturer").ToString()) O3 [z(  
  ListBox1.Items.Add("Computer name: " & opInfo("csname").ToString()) &@iPN"C?  
  ListBox1.Items.Add("Windows Directory: " & opInfo("windowsdirectory").ToString()) LQ\)#7]v5  
Next Yr"xe2pbkp  
#)SbM_4K  
列出计算机安装的全部字体,并添加到ListBox 7 9@c|=Z  
'新建Form并添加ListBox和Button I~D0Trmq  
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click &*1,q5$tJ+  
Dim fntCollection As InstalledFontCollection = New InstalledFontCollection() Y "Oakd  
Dim fntFamily() As FontFamily @Tm67]i  
fntFamily = fntCollection.Families 6%tF@`DIU  
ListBox1.Items.Clear() 0ci/RZL]u  
Dim i As Integer = 0 Vu~^>~Nd  
For i = 0 To fntFamily.Length - 1 2C@ ?N  
  ListBox1.Items.Add(fntFamily(i).Name) 4UWD"!)Z9u  
Next MN&@G|  
End Sub lfqzUhI&  
s l-?2O-  
使用Win32_Processor列出处理器的信息 rj_FjQ  
Imports System.Management i(cJ  
Public Class Form1 42*i bbe  
  Inherits System.Windows.Forms.Form g~.W,5;  
RFsPKX  
#region " Windows 窗体设计器生成的代码 " Ee= :gV9  
ziH$M  
  Public Sub New() fo;>!z|nA  
    MyBase.New() [tQ<!&4  
wq/J,.  
    '该调用是 Windows 窗体设计器所必需的。 rP[cQNhL  
    InitializeComponent() act%BW)y~  
,C#Y&`xn  
    '在 InitializeComponent() 调用之后添加任何初始化 zS$VU_i-;  
{ ,a Ufc  
  End Sub 0-J=BC6P  
s!5fr=@  
  '窗体重写 dispose 以清理组件列表。 *H! r(F_]"  
  Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) |]|\ be6  
    If disposing Then +Ao{r?#U  
      If Not (components Is Nothing) Then }UKp*O (L  
        components.Dispose() "']K~$+9jJ  
      End If @ hW-[f  
    End If -V hb  
    MyBase.Dispose(disposing) 0^~q>6TX  
  End Sub Z*+2r#C  
v|e;Z=  
  'Windows 窗体设计器所必需的 sw; VQ]Ft  
  Private components As System.ComponentModel.IContainer 9)>%dcQ.o/  
XR8~Y| t  
  '注意: 以下过程是 Windows 窗体设计器所必需的  !u.q;>  
  '可以使用 Windows 窗体设计器修改此过程。 A; }0)#0  
  '不要使用代码编辑器修改它。 7sQYB/:  
  Friend WithEvents ListBox1 As System.Windows.Forms.ListBox nA7>(<A[  
  Friend WithEvents Button1 As System.Windows.Forms.Button 3{T0Q3Z  
  <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() U:(xmC;@  
    Me.ListBox1 = New System.Windows.Forms.ListBox [GwNZC9  
    Me.Button1 = New System.Windows.Forms.Button o9<,7hy  
    Me.SuspendLayout() |>f5-|gB  
    ' s8 UWE?!  
    'ListBox1 q[ 7 v&  
    ' EpB#B3U  
    Me.ListBox1.Location = New System.Drawing.Point(8, 8) $0]$&  
    Me.ListBox1.Name = "ListBox1" l-c Av8f`  
    Me.ListBox1.Size = New System.Drawing.Size(280, 186) s{`,gfa  
    Me.ListBox1.TabIndex = 0 pu'Gsv;5|  
    ' IJKK;oXha}  
    'Button1 L#b`yv  
    ' 3:n+/M=d  
    Me.Button1.Location = New System.Drawing.Point(56, 208) EeFk+_8*[  
    Me.Button1.Name = "Button1" e-Nxx]n6  
    Me.Button1.Size = New System.Drawing.Size(168, 32) -FI '{-`c  
    Me.Button1.TabIndex = 1 KV_ aDV  
    Me.Button1.Text = "装载计算机处理器信息"  C"7g3j!n  
    ' va8V4Y|  
    'Form1 guVt("xb  
    ' o,ZVCl{{rw  
    Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) T/-%VpU;#  
    Me.ClientSize = New System.Drawing.Size(296, 254) VXWT+{;, &  
    Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Button1, Me.ListBox1}) Oax8m&IhO  
    Me.Text = "计算机处理器信息" kGTcU[2m.,  
    Me.ResumeLayout(False) `F>I8OgS  
C7D{N<a6  
  End Sub s:<+~8Q  
P(/>  
#end Region 4/"#x|n7  
jjJ;{o 5N  
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ G7-[x\|6(  
  Handles Button1.Click C{k!yWn0  
x|1PaMUv  
    Dim ProcQuery As New SelectQuery("Win32_Processor") %{S'GB q  
    Dim ProcSearch As New ManagementObjectSearcher(ProcQuery) g +G/JT~  
    Dim ProcInfo As ManagementObject yZn=p T  
o U, nZX  
    For Each ProcInfo In ProcSearch.Get() g& XcPg  
      Call processorfamily(ProcInfo("Family").ToString) L(gmI"it9  
      ListBox1.Items.Add("Description: " & ProcInfo("Description").ToString()) 7AAoAE  
      ListBox1.Items.Add("caption: " & ProcInfo("caption").ToString()) zuRI1s+E:  
      ListBox1.Items.Add("Architecture: " & ProcInfo("Architecture").ToString()) ^c7d<,|T  
      Call processortype(ProcInfo("ProcessorType").ToString()) fLV^Aq  
      Call CpuStat(ProcInfo("CpuStatus").ToString) \(T%bj  
      ListBox1.Items.Add("MaxClockSpeed: " & ProcInfo("MaxClockSpeed").ToString() & "MHZ") L.i+rzG  
      ListBox1.Items.Add("L2CacheSpeed: " & ProcInfo("L2CacheSpeed").ToString() & "MHZ") }{(b`;'Q9  
      ListBox1.Items.Add("ExtClock: " & ProcInfo("L2CacheSpeed").ToString() & "MHZ") ]hTNDn'x<  
      ListBox1.Items.Add("ProcessorId: " & ProcInfo("ProcessorId").ToString()) .vei}Ps  
      ListBox1.Items.Add("AddressWidth: " & ProcInfo("AddressWidth").ToString() & "Bits") #zra1c;h  
      ListBox1.Items.Add("DataWidth: " & ProcInfo("DataWidth").ToString() & "Bits") >j025*hs  
      ListBox1.Items.Add("Version: " & ProcInfo("Version").ToString()) =|`WO=  
      ListBox1.Items.Add("ExtClock: " & ProcInfo("ExtClock").ToString() & "MHZ") R,lfHU i  
    Next {~UZ/:Hm  
  End Sub G?NRuaoa  
  Function processorfamily(ByVal procssfam) mEe[ _Mz  
    Dim processtype m f`Uo6L  
    Select Case procssfam 0)(x jT9y  
      Case 1 t}"ja\  
        processtype = "Other" |c<4Pyi<k  
      Case 2 ]wpN"w"  
        processtype = "Unknown " \We_m sQ  
      Case 3 xjQ'1Rma  
        processtype = "8086 " pdu|>#[9  
      Case 4 t 9fgE z]  
        processtype = "80286 " jc!=&f-h  
      Case 5 L.^%O6Rl  
        processtype = "80386 " t[[ >7J++:  
      Case 6 r"o!F_T  
        processtype = "80486 " G@go5'^O  
      Case 7 'GMr  
        processtype = "8087 " QJYK\nt-dC  
      Case 8 "4 @8VvV  
        processtype = "80287 " Xn?{t*{  
      Case 9 pQg8:`b  
        processtype = "80387 " )\9ZD M!  
      Case 10 IXoR}R Y6  
        processtype = "80487 " =P$YIb="U  
      Case 11 WrlFcwuK  
        processtype = "Pentium brand " ;wA;\X;0B  
      Case 12 )oK/Onhh  
        processtype = "Pentium Pro " Ra\g OOOr  
      Case 13 e?25(e  
        processtype = "Pentium II " ?^ H'kp  
      Case 14 &a)dZk  
        processtype = "Pentium processor with MMX technology " E,4"U>y  
      Case 15 Q/z]U3  
        processtype = "Celeron " %~h0J"  
      Case 16  ^(c<D?  
        processtype = "Pentium II Xeon " k^*eXP3=@  
      Case 17 x?L7o^T~q  
        processtype = "Pentium III " yUJ)wNT>xw  
      Case 18 87v9^LR[a+  
        processtype = "M1 Family " 1 N`6t  
      Case 19 eoiS  
        processtype = "M2 Family " Q*`tL@@tR  
      Case 24 8 q7<|SF(  
        processtype = "K5 Family " p HGRL  
      Case 25 I)H">%BC  
        processtype = "K6 Family " -6d!1js78  
      Case 26 P&oosy')  
        processtype = "K6-2 " 8fN.A#( +e  
      Case 27 5!||"`g+  
        processtype = "K6-3 " r'$`TuA  
      Case 28 j|Mm ;>@  
        processtype = "AMD Athlon Processor Family " 0v9(4w s X  
      Case 29 V.C7O5F  
        processtype = "AMD Duron Processor " C~HW$U^-qT  
      Case 30 jf})f8S/G  
        processtype = "AMD2900 Family " A7Y-`.&[i  
      Case 31 n!7,F520  
        processtype = "K6-2+ " s#S8K;xzp  
      Case 32 gBl7)h37  
        processtype = "Power PC Family " n?HMI (}  
      Case 33 yX]" Gu !  
        processtype = "Power PC 601 " CL=*Fll-  
      Case 34 /I|)Lg0.<  
        processtype = "Power PC 603 " 2k>(^E "S  
      Case 35 rP(dM_c  
        processtype = "Power PC 603+ " Isl"B  
      Case 36 ov-Wa8uu/  
        processtype = "Power PC 604 " j85r=U  
      Case 37 -oSRn  
        processtype = "Power PC 620 " \0V{N}kcL  
      Case 38 }hOW R  
        processtype = "Power PC X704 " jW0c6wB2  
      Case 39 E5y_bO> ^  
        processtype = "Power PC 750 " ou-a}"{R%  
      Case 48 =DIvs+%Kv  
        processtype = "Alpha Family " `9vPD?>MC  
      Case 49 J//$b)91g  
        processtype = "Alpha 21064 " 9^x@/  
      Case 50 Fv,@*z@ke  
        processtype = "Alpha 21066 " ,e fko2B  
      Case 51 V4&<GQ'NL  
        processtype = "Alpha 21164 " ']$,2{$:m  
      Case 52 K d^AFMH  
        processtype = "Alpha 21164PC " CC&s<=\  
      Case 53 E5j.2%!#  
        processtype = "Alpha 21164a " 9J;ZZ/3  
      Case 54 $Ou'\Xx  
        processtype = "Alpha 21264 " "=^il{  
      Case 55 AwJ[C(8v  
        processtype = "Alpha 21364 " _ Hd |\.@  
      Case 64 ly r)Hcg  
        processtype = "MIPS Family " {5kd Es`  
      Case 65 U=`+yUh  
        processtype = "MIPS R4000 " 2@6^_k E 0  
      Case 66 Yo+o* ^22D  
        processtype = "MIPS R4200 " QCKv4tg<  
      Case 67 ZdP@UkP  
        processtype = "MIPS R4400 " b/K$+0wak  
      Case 68 [TZofKiGH  
        processtype = "MIPS R4600 " XcM,{JG  
      Case 69 uB6]r|:Qf  
        processtype = "MIPS R10000 " DKj%)/toB  
      Case 80 =4TRHz#  
        processtype = "SPARC Family " @?AZsl%X  
      Case 81 A= V)5v8U  
        processtype = "SuperSPARC " w)Wby~1 =Y  
      Case 82 >l^a<idh  
        processtype = "microSPARC II " ng{kfc6bT6  
      Case 83 =Ys8KJ^.m  
        processtype = "microSPARC IIep " v/|Lx1:  
      Case 84 Q{U\0OV  
        processtype = "UltraSPARC " :2y@Nx1  
      Case 85 6AT"dX Z  
        processtype = "UltraSPARC II " H.Rc!!St}  
      Case 86 k^"J- S_`  
        processtype = "UltraSPARC IIi " (i7T`< |  
      Case 87 &/V_`^  
        processtype = "UltraSPARC III " %)S"v `  
      Case 88 OT;%/}  
        processtype = "UltraSPARC IIIi " . jnR=2@  
      Case 96 iKz{3S  
        processtype = "68040 " $OdfjB[  
      Case 97 P0_{u;47  
        processtype = "68xxx Family " `~s%T}3u'  
      Case 98 NB4lAm+Y  
        processtype = "68000 " Mqfn @K X  
      Case 99 yBUq\Y: _~  
        processtype = "68010 " c:6v*l?6\  
      Case 100 % 3 *sg>  
        processtype = "68020 " ([;*N  
      Case 101 (aS;+{)]  
        processtype = "68030 " X`> yY?1c  
      Case 112 u4NN]r?n%H  
        processtype = "Hobbit Family " S9Q$ _q  
      Case 120 7N}cHx2P  
        processtype = "Crusoe TM5000 Family " `RNjI6X`  
      Case 121 Hd=/zJ&q  
        processtype = "Crusoe TM3000 Family " Gfw%f<;  
      Case 128 < [CX(~Y  
        processtype = "Weitek " =('&NH  
      Case 130 gT&tv5=2zA  
        processtype = "Itanium Processor " _>>FuJ-  
      Case 144 z$Ud+0!  
        processtype = "PA-RISC Family " H4)T0`  
      Case 145 5uy &b2 o%  
        processtype = "PA-RISC 8500 " D)7I|  
      Case 146 wu\WEPL""  
        processtype = "PA-RISC 8000 " N 22 q*(  
      Case 147 (Sfmm6 N6  
        processtype = "PA-RISC 7300LC " P5<t3-  
      Case 148 jqnzthF>T  
        processtype = "PA-RISC 7200 " gQ uj?x  
      Case 149 3I/4 rNz  
        processtype = "PA-RISC 7100LC " jHFuMAH8L  
      Case 150 }_}yXwuW  
        processtype = "PA-RISC 7100 " P\dncqF{]U  
      Case 160 `D`>F}2V<  
        processtype = "V30 Family " #eaVn +t  
      Case 176 j+TZfrli#  
        processtype = "Pentium III Xeon " )@TeVGhB  
      Case 177 e&  
        processtype = "Pentium III Processor with Intel SpeedStep Technology " CXC~CF  
      Case 178 tg+WMHu.  
        processtype = "Pentium 4 " uG5V~.OhO  
      Case 179 |~:;|G]  
        processtype = "Intel Xeon " fBEX"9],B  
      Case 180 zG]Zqpor>  
        processtype = "AS400 Family " XJDbR  
      Case 181 .x:NTMJjg  
        processtype = "Intel Xeon processor MP " %4-&}^vS  
      Case 182 Q2v;h 8  
        processtype = "AMD AthlonXP Family " 9tAR6  
      Case 183 tSw$1'|#  
        processtype = "AMD AthlonMP Family " *:[ ]Mx  
      Case 184 + @\KL<  
        processtype = "Intel Itanium 2 " 9(d0,t-.?  
      Case 185 1'EE%L  
        processtype = "AMD Opteron Family " SXD=AjwAc_  
      Case 190 j/-f :ZV  
        processtype = "K7 " !R(1bt7Au  
      Case 200 SZ:!rMQ  
        processtype = "IBM390 Family " fT4nh&tk-  
      Case 201 p(_7, {  
        processtype = "G4 " vqLvWM "  
      Case 202 MiH5",b  
        processtype = "G5 " fpKF(@H  
      Case 250 !) NARl  
        processtype = "i860 " 55gF?_1A  
      Case 251 |=Okvl6}  
        processtype = "i960 " )lD9iKTB  
      Case 260 j^ YC0B  
        processtype = "SH-3 " f{~S Rnx)  
      Case 261 .J)Pa  
        processtype = "SH-4 " 5Wl#-_  
      Case 280 )z)a  
        processtype = "ARM " 9;"8:gB4[  
      Case 281 E6bz={  
        processtype = "StrongARM " KHhR+QO}H  
      Case 300 ?MB|Xd^8}  
        processtype = "6x86 " n+w'4H(  
      Case 301 Dxo!=  
        processtype = "MediaGX " L{1z& 7n  
      Case 302 VNbO.7[  
        processtype = "MII " {>T v>  
      Case 320 N3-]{  
        processtype = "WinChip " AL3%sKq  
      Case 350 q(uE,7v  
        processtype = "DSP " N;TzDs  
      Case 500 R\#D0Ci|a  
        processtype = "Video Processor " l I}aHJL  
    End Select , C{]K  
    ListBox1.Items.Add("Family: " & processtype) Y;jjWlOnX  
dh@cP  
  End Function `zAdh.4/  
  Function CpuStat(ByVal CpuStNUM) =gEs%>Cy  
    Dim stat Z@LW_8kZm  
    Select Case CpuStNUM 2J>V>0tT  
      Case 0 v@6!|wQ(  
        stat = "Unknown " ^LSMF`O4  
      Case 1 @ "s1  
        stat = "CPU Enabled " /Ppka4g g  
      Case 2 @/`N]]Zs  
        stat = "CPU Disabled by User via BIOS Setup " 0}X" } 30  
      Case 3 ^ghb Kj:  
        stat = "CPU Disabled By BIOS (POST Error) " JDafJj7  
      Case 4 {rRM7(3V  
        stat = "CPU is Idle " +O,jX4xpD[  
      Case 5 2hI`?m:uA  
        stat = "Reserved " R^a*RC r  
      Case 6 { nH }>B  
        stat = "Reserved " !W+iv374  
      Case 7 kAu],=g  
        stat = "Other " @,C C4  
    End Select QdCTO   
    ListBox1.Items.Add("CpuStatus: " & stat) rG?oT5?m  
  End Function 0K*xC  
  Function processortype(ByVal proctypenum) -k|Rw[s (r  
    Dim proctype E[(kiBey@>  
    Select Case proctypenum R^24$<7z  
      Case 1 TdNoX0xdWh  
        proctype = "Other " 7te']a   
      Case 2 =iv4n<z  
        proctype = "Unknown " Da(G Aph  
      Case 3 Hi0Y! G  
        proctype = "Central Processor " G,>(<]9(  
      Case 4 D2@i `  
        proctype = "Math Processor " g.F~1nm`  
      Case 5 ?8a+br  
        proctype = "DSP Processor " XzR8't  
      Case 6 'D+"tMekf  
        proctype = "Video Processor " T%u]Pn<l  
    End Select "9x)5]  
    ListBox1.Items.Add("Processor Type: " & proctype) }ox Ln  
B;7|'H_  
  End Function w`1 hZ%,  
End Class da-'<0iQ   查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章