My.Computer
My的另一个功能块是Computer对象。My.Computer对象可以让你访问系统底层和应用程序所在硬件平台的信息。示例应用程序的第二个选项卡展示了你在My.Computer对象中能找到的有趣属性。
图三
My.Computer 选项卡
控制这个网格的代码如下:
myAppDS.MyComputer.AddMyComputerRow("Clock", _
My.Computer.Clock.LocalTime)
myAppDS.MyComputer.AddMyComputerRow("GMT Time", _
My.Computer.Clock.GmtTime)
myAppDS.MyComputer.AddMyComputerRow("Tick Count", _
My.Computer.Clock.TickCount)
myAppDS.MyComputer.AddMyComputerRow("GMT Time", _
My.Computer.EventLogs.Item("Application").ReadEntries().Item(1).Message)
myAppDS.MyComputer.AddMyComputerRow("CRTL Key Down", _
My.Computer.Keyboard.CtrlKeyDown.ToString())
myAppDS.MyComputer.AddMyComputerRow("Button Count", _
My.Computer.Mouse.ButtonCount)
myAppDS.MyComputer.AddMyComputerRow("Buttons Swapped", _
My.Computer.Mouse.ButtonsSwapped)
myAppDS.MyComputer.AddMyComputerRow("Mouse Exists", _
My.Computer.Mouse.Exists.ToString())
myAppDS.MyComputer.AddMyComputerRow("Wheel Scroll Lines", _
My.Computer.Mouse.WheelScrollLines.ToString())
myAppDS.MyComputer.AddMyComputerRow("Wheel Exists", _
My.Computer.Mouse.WheelExists)
myAppDS.MyComputer.AddMyComputerRow("Computer Name", _
My.Computer.Name)
myAppDS.MyComputer.AddMyComputerRow("Connection Status", _
My.Computer.Network.ConnectionStatus)
myAppDS.MyComputer.AddMyComputerRow("Connection Status", _
My.Computer.Network.IPAddresses(0).ToString())
myAppDS.MyComputer.AddMyComputerRow("Operating System Platform", _
My.Computer.OperatingSystem.Platform)
myAppDS.MyComputer.AddMyComputerRow("Version", _
My.Computer.OperatingSystem.Version.Major & "." & _
My.Computer.OperatingSystem.Version.Minor & "." & _
My.Computer.OperatingSystem.Version.Revision & "." & _
My.Computer.OperatingSystem.Version.Build)
myAppDS.MyComputer.AddMyComputerRow("Full Name HKEY_CURRENT_USER", _
My.Computer.Registry.CurrentUser.FullName)
myAppDS.MyComputer.AddMyComputerRow("Device Name", _
My.Computer.Screen.DeviceName)
这段代码与控制My.Application选项卡中的网格控件的代码非常相似。用一个类型化的数据集来装载My.Computer对象属性中获得的值,并绑定到一个表格控件。
My.Computer对象的元素不是都能够显示在表格控件里。下表列出的项目包括没有在表格控件里显示的属性或方法。
My.Computer
属性/方法 描述
Clock
允许你访问当前中时区时间和本地时间,以及计数刻度。
EventLogs
允许你访问本地事件日志信息以及创建或删除事件日志。
FileSystem
允许你进行许多IO操作,如复制文件、目录,移动文件、目录,读取或写入文件等。一般情况只需要一行代码。
Keyboard
允许你获取当前键盘上某些案件的状态。比如获取CTRL键、SHIFT键或ATL键是否被按下,或者CAPS LOCK/SCROLL LOCK是否处于打开状态等。
Mouse
允许你获取鼠标的状态以及它所附带的特定的硬件特征,如有几个按键,是否带有滚论等。
Name
告诉你当前正运行的本地计算机的名称。
Network
允许你访问本地计算机的IP地址信息,本地计算机的连接状态,还有Ping一个地址的功能。
Operating System
允许你访问本地计算机平台和版本的信息。
Registry
允许你访问注册表,并提供读取和写入注册表的功能。
Screen
允许你访问系统附带的监视器以及显示属性,如BitsPerPixel和WorkingArea等。
My.Computer在开发中的相关应用
My.Computer提供给你很多访问系统底层的功能,你可以用在很多方面。比如你可以用Network属性和其相关的Ping、PingWithDetails方法轻易地Ping一个网络地址。
Dim pingResult As Microsoft.VisualBasic.Net.PingResult = _
My.Computer.Network.PingWithDetails("www.3leaf.com")
If pingResult.PingSuccesses > 0 Then
Dim pingDetails As String = "Average Ping Time in MS: " & _
ingResult.AveragePingTimeInMilliseconds & vbCrLf & _
"Bytes Received: " & pingResult.BytesReceived.ToString() & vbCrLf & _