VBnet 檢測插入U盤的信息_第1頁
VBnet 檢測插入U盤的信息_第2頁
VBnet 檢測插入U盤的信息_第3頁
VBnet 檢測插入U盤的信息_第4頁
VBnet 檢測插入U盤的信息_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、VB. NET如何檢測插入U盤的信息LUCCFU原創(chuàng)代碼本教程主要為了實現(xiàn)下圖所示效果:1* L. *清選擇您的U盤:I 1 : U: r 14.5GB r FAT32 , Kingston , DT_i01_G2 r O&1CC0EC345AEC51 t-| 即在ComboBox中顯示插入的。盤的信息,當(dāng)然,你也可以稍微修改一下代碼,讓這些信息顯示在TextBox、Label或其他你想要的控件上! 廢話不說,現(xiàn)在開始吧!一、首先,新建項目,選擇“Windows窗體應(yīng)用程序”,名稱自己命名即可,本例命名為LUCCFU,點擊確定!二、出現(xiàn)“Form1”窗體,在窗體上添加Label1、ComBox

2、1,再添加Timer1,修改Label1的Text屬性為“請選擇您的U盤:”文件舊福輯(E)視囹叫項目生成(B)調(diào)試(口)數(shù)據(jù)依)檎式。工具測試窗口 W:苞I 覆函。IH # | 出-jik jj序冬F(xiàn)orml.vb 設(shè)i十廣口廿 Forml回 |請選擇您的U盤|三、點擊菜單“項目”下的“添加模塊”,選擇“模塊”,本例名稱命名為“GetUinfo.vb”,點擊添加四、自動彈出“ GetUinfo.vb ”代碼編輯界面,在自動生成的代碼上面,即Module GetUinfo“語句上面,添加以下三行代碼以引入命名空間。Imports VB = Microsoft.VisualBasicImport

3、s Microsoft.Win32Imports System.IO五、Module GetUinfo”語句下面,就是本教程的重中之重了,總體來說是3個主要函數(shù),如下:Delblank 函數(shù)Cutstring 函數(shù)Getustring 函數(shù)其中Getustring為核心,用來獲得u盤信息,Delblank函數(shù)和Cutstring函數(shù)主要是輔助Getustring,因為Getustring函數(shù)中間獲取到得U盤信息是比較亂的,通過Delblank函數(shù)和Cutstring函數(shù)可以使獲得U盤信息更完美,下面來看!1、在Module GetUinfo”語句下面,首先聲明兩個string類型的字符串一維數(shù)

4、組,再聲明一些其他變量,如下:Public uinfoarray(22) As StringPublic uinfoarray1(22) As StringPublic udisknum As Short = 0Public udisknum1 As Short = 0Public intX As Short2、接著輸入下面代碼,即Delblank函數(shù):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函數(shù),有一個string類型的參數(shù),返回值也為string類型,該函數(shù)的主要作用是刪除參數(shù)字符串中的“空格”和將 連續(xù)多個漢語逗號“,”刪除,在這里也許你不明白它的作用,Getustring函數(shù)會用到!3、緊接著輸入以下代碼,即Cutstring函數(shù):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可以看出,這個函數(shù)有3個string類型的參數(shù),作用是對參數(shù)strname字符串進(jìn)行截取,截取第二個參數(shù)firststring和第三個secondstring 中間的字符串,函數(shù)結(jié)果返回截取出的字符串,例如:Cutstring(abc123cde4f5,ab,4f5)則返回 c123cdefe。4、緊接著輸入以下代碼,核心代碼,即函數(shù)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 -獲取失敗時,責(zé)令其為空End Try Tryuformat = udrive.DriveFormatU盤文件系統(tǒng),如 FAT32/NTFSCatch uformat = 獲取失敗時,責(zé)令其為空End Try Try ulabel = udrive.VolumeLabelU盤卷標(biāo)Catch ulabel = 獲取失敗時,責(zé)令其為空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 =獲取失敗時,責(zé)令其為空End Try Try For Each uvaluename In ureg.GetValueNames()讀取注冊表獲取U盤的詳細(xì)信息始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盤的詳細(xì)信息終ureginfo = Cutstring(ureginfo, Ven_, &0#)初步處理U盤的信息,這里用到Cutstring函數(shù)umanuname = Cutstring(ureginfo, ”, &Prod)U盤制造商,這里用到Cutstring函數(shù)uproname = Cutstring(ureginfo, &Prod_, &Rev)U盤產(chǎn)片名稱,這里用到Cutstring函數(shù)userie = Cutstring(uregi

16、nfo, #”, )U盤唯一序列號,這里用到Cutstring函數(shù)Catch umanuname = 獲取失敗時,責(zé)令其為空uproname = 獲取失敗時,責(zé)令其為空userie =獲取失敗時,責(zé)令其為空End Try If uroot And usize Then判斷U盤盤符和容量是否為空,為空則沒必要統(tǒng)計strarray(numdisk) = Delblank( & numdisk + 1 &: & uroot & , & usize & , & uformat & , & ulabel & , & umanuname & , & uproname & , & userie)這里用UDe

17、lblank函數(shù)numdisk += 1 End If End IfNext Return numdisk放回目前電腦上的U盤個數(shù)End Function可以看出,這個函數(shù)有一個string類型的一維數(shù)組參數(shù),用來存儲獲取到的U盤信息,第一個U盤的信息存儲在numdisk(0)中,第二個U 盤的信息存儲在numdisk中,以此類推。結(jié)果返回numdisk,即目前電腦上U盤的個數(shù)。六、Module GetUinfo“模塊到此結(jié)束,下面來編寫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) 視圖叫項目(町生成餌調(diào)試(口數(shù)據(jù)(A) 格式(O) 工具E 測試商口 (W:徵標(biāo)莎國IH鼻|品-宣一3 | / | M |丐 e R 二| jj二耳三匚三壇| WForml vb 設(shè)訝士j- 哈 Form 1| = | 回 | 遂 | :請迭擇您的U盤:-?Timerl在彈出的代碼編輯界面輸入下面的代碼(注意部分代碼已自動生成):=Private Sub Timer1_Tick(ByVal sender As Sy

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論