"一个实用的却被忽略的命名空间: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 - 博客园
最新文章
- 在autoit中如何将combobox设置为只允许选择不允许输入呢
- 推荐——Monkey《大话 app 测试——Android、iOS 应用测试指南》
- Linux MySQL 存储引擎详解
- 我给女朋友讲编程html系列(4) -- html常用简单标签
- Linux定时任务crontab每三秒执行一次shell
- 鸟哥的linux私房菜——第20章 启动流程、模块管理与loader
- ADSL拨号连接
- Contest - 第10届“新秀杯”ACM程序设计大赛网络资格赛 赛后信息(晋级名单·正式版)
- 【写一个自己的js库】 3.添加几个处理字符串的方法
- Android使用HttpClient向服务器传输文件
- sklearn数据预处理-scale
- 【2017-2-17】VS基本应用及C#基础第一节(定义变量、输入及输出)
- linux系统使用python监测网络接口获取网络的输入输出
- Java基础总结--常用类以及包的访问权限
- unix设计哲学
- [LeetCode] Design HashMap 设计HashMap
- sublime lincense for linux
- c# 泛型和IComparable<;T>;接口
- windows系统文件和linux系统文件
- Chrome 插件编写日记
热门文章
- ARM 异常处理过程,指令[ swi ]
- volatile的使用及其原理
- Aria2 Centos8 安装配置
- Tools: python 安装
- Wpf 获取指定字体和大小的字符的长宽
- NX二次开发-UFUN创建块UF_MODL_create_block
- ARC032 D - アットコーダーモンスターズ
- [JZOJ 5807] 简单的区间
- 微信-小程序-开发文档-服务端-模板消息:templateMessage.getTemplateLibraryById
- ECMAScript1.4 对象 | 简单数据类型与复杂数据类型 | 内置对象 | 基本包装类型 | String