"一个实用的却被忽略的命名空间:Microsoft.VisualBasic":

当你看到这个命名空间的时候,别因为是vb的东西就匆忙关掉网页,那将会是您的损失,此命名空间中的资源最初目的是为了简化vb.net开发而创建的,所以microsoft.visualbasic并不属于system命名空间,而是独立存在的。虽然是为了vb而建的,但并不妨碍我们在c#中使用它。

microsoft.visualbasic命名空间的资源,可以帮助我们方便、快捷的实用一些常用的计算机软/硬件及网络资源,提高开发中的效率。

对于本地计算机资源的使用,我们可能会着重关注microsoft.visualbasic.devices命名空间,在这里包含了与本机设备和操作系统相关的资源。

使用这些资源,我们必须在项目中添加它们的引用。可以通过菜单“项目”->“添加引用”,在“.net”页选中“microsoft.visualbasic”,然后“确定”完成。然后,别忘了在代码文件中使用它们。

在这里我们主要关注一下microsoft.visualbasic.devices命名空间中的资源,主要包括:

  • audio类
  • clock类
  • computer类
  • computerinfo类
  • keyboard类
  • mouse类
  • network类
  • ports类
  • servercomputer类

关于这些资源的详细说明,大家可以参考msdn library。下面,我们将通过几种典型的应用了解下如何在c#代码中使用这些资源。

获取操作系统与内存信息

为了实现本功能,我们使用了computerinfo类,下面代码显示当前计算机的系统名称和版本,以及内存相关的信息。

using microsoft.visualbasic;
using microsoft.visualbasic.devices;
namespace microsoft.visualbasic_demo
{
    class program
    {
        //将字节转换为兆字节
        static ulong bytetomb(ulong bytevalue)
        {
            return bytevalue / 1048576;
        }
        static void main(string[] args)
        {
            computerinfo mypcinfo = new computerinfo();

console.writeline("操作系统:{0}", mypcinfo.osfullname);
            console.writeline("版本:{0}", mypcinfo.osversion);

console.writeline("全部物理内存:{0}",
                bytetomb(mypcinfo.totalphysicalmemory));
            console.writeline("全部虚拟内存:{0}",
                bytetomb(mypcinfo.totalvirtualmemory));
            console.writeline("可用物理内存:{0}",
                bytetomb(mypcinfo.availablephysicalmemory));
            console.writeline("可用虚拟内存:{0}",
                bytetomb(mypcinfo.availablevirtualmemory));

console.read();
        }
    }
}

运行结果如下:

如果你的软件对操作系统版本或内存有特殊的要求,使用这些信息可以方便地进行相关信息的判断。如果你需要得到更多关于windows的相关信息,如计算机名称(computername)、当前登录名

(username)等,可以使用位于system.windows.forms命名空间中的systeminformation类来获取。

播放波形文件

位于microsoft.visualbasic.devices命名空间下的audio类可以帮助

此文来自: 马开东博客 转载请注明出处 网址:http://www.makaidong.com

我们快速地播放波形音频文件。波形文件是一种无损的音频文件,在很多场合都可使用,其中,在windows系统中的系统声音就是使用波形文件。

在audio类中,我们主要使用play()方法播放波形文件。代码如下:

using system;
using system.collections.generic;
using system.linq;
using system.text;
using microsoft.visualbasic;
using microsoft.visualbasic.devices;
namespace microsoft.visualbasic_demo
{
    class program
    {
        static void main(string[] args)
        {
            //播放声音
            audio myaudio = new audio();
            myaudio.play(@"c:\test.wav", audioplaymode.background);
            console.read();
        }
    }
}

代码很简单,目的就是播放位于“c:\”中的”test.wav”波形文件。文件不存在或者格式不支持时,会产生异常,所以,在正式代码中,你应该使用try-catch语句结构。

play()方法的两个参数,第一个是需要播放文件的路径。第二个参数指定了播放模式(mode),由audioplaymode枚举类型指定,主要有如下选项:

  • background,在后台中播放声音。这是默认值,上述代码可以直接写成”
    myaudio.play(@"c:\test.wav");“。
  • backgroundloop,在后台中循环播放,直到调用stop()方法为止。
  • waittocomplete,播放声音,直到声音播放完成才继续执行其他代码。

网络基本应用

有时,需要在软件中判断网络是否畅通,或者上传或下载文件,这时,可以使用microsoft.visualbasic.devices命名空间的network类。

network类只要包括如下常用资源:

  • isavaiable属性,判断计算机是否已联网,如果网络畅通,则此属性返回true,否则,
    返回false。
  • ping()方法,用于测试与另一台计算机的连接是否畅通。参数可以是url、计算机名或ip地址。
  • downloadfile()方法,从指定的网络位置下载文件。一般情况下,第一个参数指定需要下载文件的网络位置,第二个参数指定本地存放位置。
  • uploadfile()方法,向指定的网络位置上传文件。一般情况下,第一个参数指定需要上传文件的本地位置,第二个参数指定上传到的网络位置。

搜索此文相关文章:一个实用的却被忽略的命名空间:Microsoft.VisualBasic

此文链接:http://www.makaidong.com/IT%E5%8D%9A%E5%AE%A2%E5%9B%AD/35753.shtml

转载请注明出处:一个实用的却被忽略的命名空间:Microsoft.VisualBasic - 博客园

时间: 2024-08-12 09:41:27

"一个实用的却被忽略的命名空间:Microsoft.VisualBasic":的相关文章

“makefile”写法详解,一步一步写一个实用的makefile,详解 sed 's,$?\.o[ :]*,\1.o [email protected] : ,g' < [email protected]

目的:编写一个实用的makefile,能自动编译当前目录下所有.c/.cpp源文件,支持二者混合编译.并且当某个.c/.cpp..h或依赖的源文件被修改后,仅重编涉及到的源文件,未涉及的不编译. 二要达到这个目的,用到的技术有:1-使用wildcard函数来获得当前目录下所有.c/.cpp文件的列表.2-make的多目标规则.3-make的模式规则.4-用gcc -MM命令得到一个.c/.cpp文件include了哪些文件.5-用sed命令对gcc -MM命令的结果作修改.6-用include命

一个实用的C#网页抓取类代码分享

一个实用的C# 网页抓取类 模拟蜘蛛,类中定义了超多的C#采集文章.网页抓取文章的基础技巧,下面分享代码: using System; using System.Data; using System.Configuration; using System.Net; using System.IO; using System.Text; using System.Collections.Generic; using System.Text.RegularExpressions; using Sys

一个实用的短中长期资金观察指标介绍

一个实用的短中长期资金观察指标介绍 好股票软件下载网(www.goodgupiao.com)提示:您正在下载的是:一个实用的短中长期资金观察指标 红线主力资金未动而短期白线归零表示散户资金已逃出,股票即将拉升.四线归零表示股价已跌至低点.如果红白线都跟着向下,那么此股观望为妙. 个股连续下跌,如果四线归零,当四线归零消失的那天进场.因为有的股票有可能连续几天大跌,四线归零,如果归零的时候进场则被套.所以只有归零消失的时候进场.反弹到白线到100的时候减仓,这样可以抢反弹. {多空对比} 短期:1

【翻译自mos文章】在一个使用uniform size的 本地管理的表空间中建立一个表,为什么会忽略INITIAL 参数?

翻译:Why Does a Table Created in a Locally Managed Tablespace With Uniform Extents Ignore INITIAL? (文档 ID 753662.1) 在一个使用uniform size的 本地管理的表空间中建立一个表,为什么会忽略INITIAL 参数? 适用于: Oracle Database - Enterprise Edition - Version 8.1.5.0 to 11.1.0.7 [Release 8.1

一个实用的实时毛发渲染及着色方法

一个实用的实时毛发渲染及着色方法 Thorsten scheuermann ATI Resarch,Inc. 翻译:潘曦 (译文里的(pancy:XXX)为译者注) 介绍: 我们提出了一个使用多边形模型的实时毛发渲染算法,并且将其应用于今年SIGGRAPH动画节上的一个实时动画<ruby:The Double Cross>上面.该毛发渲染算法是基于Kajiya-Kay 毛发渲染模型的算法,但是在其之上添加了一个实时的接近现实高光的镜面反射效果(pancy:原始算法可能没有考虑到头发的高光只计算

vs2013 命名空间“Microsoft.Office”中不存在类型或命名空间名称“Interop”。是否缺少程序集引用?

参考博文: 解决办法:添加引用/com/Microsoft Office 11.0 Object Library 然后在程序中 C#代码 using Microsoft.Office.Interop.Excel; using Microsoft.Office.Interop.Excel; 也许程序中还会出现其他错误有命名空间“Microsoft office”中不存在类型或命名空间名称“Interop” (是缺少程序集引用吗?) 命名空间“Microsoft.Office.Interop”中不存

命名空间“Microsoft.AspNet”中不存在类型或命名空间名“Mvc”

问题: 错误 CS0234 命名空间"Microsoft.AspNet"中不存在类型或命名空间名"Mvc"(是否缺少程序集引用?) 解决方案: 打开文件夹 Users\<CurrentUser>\AppData\Local\Microsoft\VisualStudio\<version> 删除文件夹 ComponentModelCache 重启 Visual Studio.

Xamarin基础命名空间Microsoft.SqlServer.Server

Xamarin基础命名空间Microsoft.SqlServer.Server 该命名空间包含大量的类.接口和枚举,用于操作微软SQL Server数据库.该空间支持Xamarin.iOS和Xamarin.Android,不支持WinPhone和Forms.在使用的时候,需要先引入System.Data.dll.

windows phone 开发常用小技巧 - 命名空间 Microsoft.phone.Controls.Toolkit 中不存在名称

有时候从网上下来的项目示例,打开时页面会有莫名的找不到引用的报错,而dll文件确实存在,这有可能是文件被保护锁定了,找到该dll文件右键属性点击解除锁定,重新生成一下项目就可以了 windows phone 开发常用小技巧 - 命名空间 Microsoft.phone.Controls.Toolkit 中不存在名称