VBnet 检测插入U盘的信息_第1页
VBnet 检测插入U盘的信息_第2页
VBnet 检测插入U盘的信息_第3页
VBnet 检测插入U盘的信息_第4页
VBnet 检测插入U盘的信息_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VB. NET如何检测插入U盘的信息LUCCFU原创代码本教程主要为了实现下图所示效果:1* L. *清选择您的U盘:I 1 : U: r 14.5GB r FAT32 , Kingston , DT_i01_G2 r O&1CC0EC345AEC51 t-| 即在ComboBox中显示插入的。盘的信息,当然,你也可以稍微修改一下代码,让这些信息显示在TextBox、Label或其他你想要的控件上! 废话不说,现在开始吧!一、首先,新建项目,选择“Windows窗体应用程序”,名称自己命名即可,本例命名为LUCCFU,点击确定!二、出现“Form1”窗体,在窗体上添加Label1、ComBox

2、1,再添加Timer1,修改Label1的Text属性为“请选择您的U盘:”文件旧福辑(E)视囹叫项目生成(B)调试(口)数据依)檎式。工具测试窗口 W:苞I 覆函。IH # | 出-jik jj序冬Forml.vb 设i十广口廿 Forml回 |请选择您的U盘|三、点击菜单“项目”下的“添加模块”,选择“模块”,本例名称命名为“GetUinfo.vb”,点击添加四、自动弹出“ GetUinfo.vb ”代码编辑界面,在自动生成的代码上面,即Module GetUinfo“语句上面,添加以下三行代码以引入命名空间。Imports VB = Microsoft.VisualBasicImport

3、s Microsoft.Win32Imports System.IO五、Module GetUinfo”语句下面,就是本教程的重中之重了,总体来说是3个主要函数,如下:Delblank 函数Cutstring 函数Getustring 函数其中Getustring为核心,用来获得u盘信息,Delblank函数和Cutstring函数主要是辅助Getustring,因为Getustring函数中间获取到得U盘信息是比较乱的,通过Delblank函数和Cutstring函数可以使获得U盘信息更完美,下面来看!1、在Module GetUinfo”语句下面,首先声明两个string类型的字符串一维数

4、组,再声明一些其他变量,如下:Public uinfoarray(22) As StringPublic uinfoarray1(22) As StringPublic udisknum As Short = 0Public udisknum1 As Short = 0Public intX As Short2、接着输入下面代码,即Delblank函数:Public Function Delblank(ByVal strname As String) As StringDim str10 As Stringstr10 = VB.Replace(strname, Chr(32),)str10 =

5、 VB.Replace(str10, ,,,)str10 = VB.Replace(str10, ,,,)str10 = VB.Replace(str10, ,, ,)str10 = VB.Replace(str10, ,, ,)Return str10End Function可以看到,Delblank函数,有一个string类型的参数,返回值也为string类型,该函数的主要作用是删除参数字符串中的“空格”和将 连续多个汉语逗号“,”删除,在这里也许你不明白它的作用,Getustring函数会用到!3、紧接着输入以下代码,即Cutstring函数:Public Function Cutstr

6、ing(ByVal strname As String, ByVal firststring As String, ByVal secondstring As String) As StringDim stringlen As IntegerDim cutlen As IntegerDim n As IntegerIf firststring Thenstringlen = VB.Len(strname)cutlen = VB.Len(firststring)If cutlen = stringlen ThenFor n = cutlen To stringlenIf VB.Right(VB.

7、Left(strname, n), cutlen) = firststring ThenExit ForEnd IfNextIf n = stringlen And VB.Right(VB.Left(strname, n), cutlen) firststring Then_ strname Elsestrname VB.Right(strname, stringlen - n)End IfElse_ strname =End IfEnd IfIf strname And secondstring Thenstringlen VB.Len(strname)cutlen = VB.Len(sec

8、ondstring)If cutlen = stringlen ThenFor n = cutlen To stringlenIf VB.Left(VB.Right(strname, n), cutlen) = secondstring ThenExit ForEnd IfNextIf n = stringlen And VB.Left(VB.Right(strname, n), cutlen) secondstring Then_ strname =Elsestrname = VB.Left(strname, stringlen - n)End IfElse_ strname =End If

9、End IfReturn strnameEnd Function可以看出,这个函数有3个string类型的参数,作用是对参数strname字符串进行截取,截取第二个参数firststring和第三个secondstring 中间的字符串,函数结果返回截取出的字符串,例如:Cutstring(abc123cde4f5,ab,4f5)则返回 c123cdefe。4、紧接着输入以下代码,核心代码,即函数Getustring:Public Function Getustring(ByRef strarray() As String) As Short Dim numdisk As Short = 0

10、Dim uroot As String Dim usize As String Dim uformat As String Dim umanuname As String Dim uproname As String Dim userie As String Dim ulabel As String Dim alldrives() As DriveInfo DriveInfo.GetDrives() Dim uvaluename As String Dim uvaluearray As System.Array Dim ureginfo As String = Dim n As Integer

11、 Dim ureg As RegistryKey My.Computer.Registry.LocalMachine.OpenSubKey(SYSTEMMountedDevices,RegistryKeyPermissionCheck.Default, Security.AccessControl.RegistryRights.QueryValues) For Each udrive As DriveInfo In alldrivesIf udrive.IsReady = True And udrive.DriveType = DriveType.Removable Then Try uroo

12、t udrive.NameU盘盘符Catch uroot -获取失败时,责令其为空End Try Tryuformat = udrive.DriveFormatU盘文件系统,如 FAT32/NTFSCatch uformat = 获取失败时,责令其为空End Try Try ulabel = udrive.VolumeLabelU盘卷标Catch ulabel = 获取失败时,责令其为空End Try Try usize = udrive.TotalSizeU盘总空间仪台If usize 1099511627776 Then usize = Str(Format(usize / 1099511

13、627776, 0.0).Trim & TB ElseIf usize 1073741824 Then usize = Str(Format(usize / 1073741824, 0.0).Trim & GB ElseIf usize 1048576 Then usize = Str(Format(usize / 1048576, 0.0).Trim & MB ElseIf usize 1024 Then usize = Str(Format(usize / 1024, 0.0).Trim & KB ElseIf usize 0 Then usize = Str(Format(usize,

14、0.0).Trim & B Else usize = End IfU盘总空间终Catch usize =获取失败时,责令其为空End Try Try For Each uvaluename In ureg.GetValueNames()读取注册表获取U盘的详细信息始If uvaluename = DosDevices & VB.Left(uroot, 2) Then ureginfo = uvaluearray = ureg.GetValue(uvaluename) For n = 0 To UBound(uvaluearray) If uvaluearray(n) 0 Then uregin

15、fo = ureginfo + Chr(uvaluearray(n).ToString End If Next End If Next读取注册表获取U盘的详细信息终ureginfo = Cutstring(ureginfo, Ven_, &0#)初步处理U盘的信息,这里用到Cutstring函数umanuname = Cutstring(ureginfo, ”, &Prod)U盘制造商,这里用到Cutstring函数uproname = Cutstring(ureginfo, &Prod_, &Rev)U盘产片名称,这里用到Cutstring函数userie = Cutstring(uregi

16、nfo, #”, )U盘唯一序列号,这里用到Cutstring函数Catch umanuname = 获取失败时,责令其为空uproname = 获取失败时,责令其为空userie =获取失败时,责令其为空End Try If uroot And usize Then判断U盘盘符和容量是否为空,为空则没必要统计strarray(numdisk) = Delblank( & numdisk + 1 &: & uroot & , & usize & , & uformat & , & ulabel & , & umanuname & , & uproname & , & userie)这里用UDe

17、lblank函数numdisk += 1 End If End IfNext Return numdisk放回目前电脑上的U盘个数End Function可以看出,这个函数有一个string类型的一维数组参数,用来存储获取到的U盘信息,第一个U盘的信息存储在numdisk(0)中,第二个U 盘的信息存储在numdisk中,以此类推。结果返回numdisk,即目前电脑上U盘的个数。六、Module GetUinfo“模块到此结束,下面来编写Form1窗体加载事件,双击Form1窗体的空白处,在弹出的代码编辑界面输入下面的代码(注 意部分代码已自动生成):Private Sub Form1_Loa

18、d(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadTimer1.Enabled = True启动t imer1Timer1.Interval = 2000时间为2秒End Sub=七、接下来编写Timer 1事件代码,双击Timerl对象,即下图中的Timerl:立件(弓牌(E) 视图叫项目(町生成饵调试(口数据(A) 格式(O) 工具E 测试商口 (W:徵标莎国IH鼻|品-宣一3 | / | M |丐 e R 二| jj二耳三匚三坛| WForml vb 设讶士j- 哈 Form 1| = | 回 | 遂 | :请迭择您的U盘:-?Timerl在弹出的代码编辑界面输入下面的代码(注意部分代码已自动生成):=Private Sub Timer1_Tick(ByVal sender As Sy

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论