My.Computer简要说明
My.Computer
封装了大量访问系统和硬件信息的功能,操作起来比直接使用.NET
Framework或Windows API都方便得多。包括很多对象,利用这些对象,以前要写N多代码的东东,现在可能一两行代码即可搞定。
My.Computer中的对象 |
功能描述 |
示例代码 |
My.Computer.Audio |
提供了播放音频的功能,它既可以从wav等文件播放,也可以从音频数据流来播放,就是说你可以用它轻松播放储存在资源文件中或者数据库中的音频。播放时还可以指定后台播放或等待结束等多种设置。结合My.Resources来使用,更显得方便无穷。 |
简单的播放wav文件
My.Computer.Audio.Play(“c:\ding.wav“, AudioPlayMode.BackgroundLoop) |
My.Computer.Clipboard |
提供了以强类型方式读写剪贴板的功能,比Windows.Forms里面的剪贴板更加好用。使用Clipboard对象可以直接从剪贴板读写音频、图像、文本甚至我的电脑中的文件拖放信息。此外,由VB6升级的项目现在将直接使用My.Computer.Clipboard对象升级以前的 |
将文本框内的内容复制到剪贴板
My.Computer.Clipboard.SetText(TextBox1.Text) |
My.Computer.Clock |
获取时间的工具,它可以直接获取当地时间、中时区的时间和从当时子时开始的毫秒计数。 |
|
My.Computer.FileSystem |
充分改善文件操作的复杂程度。FileSystem对象提供了易于理解的操作方式。FileSystem对象中复制文件的方法不但只需要指定目标路径,还可以帮助你建立目标目录中不存在的级别。它还特别提供了CopyDirectory的功能,可以复制整个目录!这正是目前.NET |
在动画演示下将文件放入回收站
My.Computer.FileSystem.DeleteFile(“c:\mybigfile.big“, True, True) 只用一行代码就可以读取文本文件内容
s = My.Computer.FileSystem.ReadAllText(“c:\a.txt“) 当然通过System.IO.FileSystem类也可以完成FileSystem对象的大多数功能,这种方式就类似于C#或者说更适合于C#了。 |
My.Computer.Info |
获得本机物理内存或虚拟内存的总数,剩余量、操作系统名称、当前用户名、本机安装的文化设置等等,都可以轻松使用Info对象,它让你对应用程序所在的系统了如指掌。 |
|
My.Computer.Keyboard 和My.Computer.Mouse |
快速获得用户键盘的信息,如大写锁定、数字键盘锁定等是否打开,以及鼠标有几个按键,是否配备滚轮等。如果你希望你的应用程序能够做到最体贴用户,那这些信息是少不了了 |
获取用户的鼠标左右键功能是否交换
Dim f As Boolean = My.Computer.Mouse.ButtonsSwapped My.Computer.Name‘不用多说,这就是本机操作系统安装时输入的名称 |
My.Computer.Network |
最常用的网络任务,只需要一行代码,就可以Ping一个地址,或者检测网络是否接通。 |
下载文件的示例
If My.Computer.Network.IsAvailable Then My.Computer.Network.DownloadFile(“http://abc.com/x.zip“, _ “C:\download“) End If |
My.Computer.Port |
提供了用一行代码打开本机串口的功能,还能立刻绑定一个事件监视串口的变化。现在串口编程出奇的简单,再也不需要MSComm控件了。 |
|
My.Computer.Printers |
能够遍历本机所安装的所有打印机,还能找出默认的打印机。通过向默认打印机画图一样的操作,就能开始打印了。这样的操作会让你想起VB6时代便利而简洁的 |
默认打印机上打印一个椭圆
My.Computer.Printers.DefaultPrinter.DrawEllipse( _ New RectangleF(2, 2, 50, 150), 1) My.Computer.Printers.DefaultPrinter.Print() |
My.Computer.Registry |
比Microsoft.Win32空间中的那个版本简单多了,他提供强类型的路径支持,还能非常方便地读写注册表。 |
如何判断某一键值是否存在
Dim exists As Boolean = True Dim path As String = “Software\Microsoft\TestApp\1.0“ If My.Computer.Registry.CurrentUser.OpenSubKey(path) Is Nothing Then exists = False End If |
My.Computer.Screen |
获取屏幕的可视范围,像素的位数等。比VB6的Screen对象更强的是,它现在支持两个显示器。 |