版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通事故損害賠償合同協(xié)議書范文
- 2025年超級會員服務(wù)協(xié)議規(guī)范文本
- 2025年標(biāo)準(zhǔn)代理業(yè)務(wù)協(xié)議書
- 專兼職律師合作框架合同
- 個人貸款還款合同格式
- 2025年攜手營銷軟件合作協(xié)議書范本
- 2025年市場營銷專員試用合同協(xié)議標(biāo)準(zhǔn)文本
- 產(chǎn)品銷售合同及補充協(xié)議
- 二手房購置合同標(biāo)準(zhǔn)樣本
- 產(chǎn)品采購與供應(yīng)合同范本
- 三查四定管理制度(參考模板)
- 品質(zhì)部經(jīng)理KRA KPI考核表
- 國家中小學(xué)智慧教育平臺推動家校共育
- 《馬克思主義與社會科學(xué)方法論》授課教案
- 一個28歲的漂亮小媳婦在某公司打工-被老板看上之后
- 馬工程教育哲學(xué)課件第十章 教育哲學(xué)與教師發(fā)展
- GB/T 11376-2020金屬及其他無機(jī)覆蓋層金屬的磷化膜
- 成功源于自律 主題班會課件(共34張ppt)
- 新青島版(五年制)五年級下冊小學(xué)數(shù)學(xué)全冊導(dǎo)學(xué)案(學(xué)前預(yù)習(xí)單)
- (完整word版)重點監(jiān)管的危險化學(xué)品名錄(完整版)
- 高級工程師電子版職稱證書在網(wǎng)上打印步驟
評論
0/150
提交評論