Private Function 硬盤序列號() As String
成都創(chuàng)新互聯(lián)公司自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)管理經(jīng)驗、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團(tuán)隊及專業(yè)的網(wǎng)站設(shè)計師團(tuán)隊。
Try
Dim myInfo As Microsoft.Win32.RegistryKey = My.Computer.Registry.LocalMachine.OpenSubKey("HARDWARE\DEVICEMAP\Scsi\Scsi Port 0\Scsi Bus 1\Target Id 0\Logical Unit Id 0")
硬盤序列號 = Trim(myInfo.GetValue("SerialNumber"))
Catch
Try
Dim myInfo As Microsoft.Win32.RegistryKey = My.Computer.Registry.LocalMachine.OpenSubKey("HARDWARE\DEVICEMAP\Scsi\Scsi Port 1\Scsi Bus 1\Target Id 0\Logical Unit Id 0")
硬盤序列號 = Trim(myInfo.GetValue("SerialNumber"))
Catch
硬盤序列號 = ""
End Try
End Try
End Function
試下,如果返回為空,則表示失敗。
在本機(jī)win8win8.1有效,不過好像在有些機(jī)器上沒用。
軟件注冊比較復(fù)雜,你說的獲取硬盤序列號只是第一步,然后需要發(fā)給開發(fā)商,用一個算法生成注冊號,再發(fā)給你,你再把這個注冊號注入程序,才能完成注冊。
開發(fā)商那邊是加密,用戶這邊是解密,算法相反,可以復(fù)雜也可以簡單。
一般來說,要求用戶提供用戶名、地址、硬盤號等多種資料,組合生成一個數(shù)字,最簡單用個網(wǎng)上找的MD5算法,生成20位注冊號,用戶端也用這個,然后比對輸入的注冊號是不是一樣
下面是網(wǎng)上給你找的硬盤號代碼
Private Declare Function MymachineC Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
Private Sub Command1_Click()
Dim DiskId, Maxlen, Sysflag As Long: Dim VolName, FsysName As String
Call MymachineC("c:\", VolName, 256, DiskId, Maxlen, Sysflag, FsysName, 256)
MsgBox "序列號:" DiskId
End Sub
這個能獲取C盤的序列號 但是 格式化/重做系統(tǒng)后 就會變!
總結(jié):在VB.NET中,用API函數(shù)可以獲取硬盤信息。原來熟悉API函數(shù)VB6程序員,可以對API函數(shù)聲明進(jìn)行適當(dāng)?shù)母暮?,進(jìn)行調(diào)用。利用FSO(文件系統(tǒng)對象)的Scrrun.DLL,也可以獲得磁盤信息。
首先使用 System.IO.DriveInfo.GetDrives()獲取System.IO.DriveInfo,存入ds()
然后遍歷ds,獲取各個信息部分。
Dim ds() As System.IO.DriveInfo = System.IO.DriveInfo.GetDrives()
For i As Integer = 0 To ds.Length - 1
TextBox1.Text = TextBox1.Text + ds(i).DriveType.ToString + " " '驅(qū)動器類型
TextBox1.Text = TextBox1.Text + ds(i).Name + " " '盤符(驅(qū)動器名)
TextBox1.Text = TextBox1.Text + ds(i).IsReady.ToString + " " '是否就緒
If ds(i).IsReady = True Then
TextBox1.Text = TextBox1.Text + ds(i).VolumeLabel + " " '卷標(biāo)
TextBox1.Text = TextBox1.Text + ds(i).TotalSize.ToString + " " '驅(qū)動器容量
TextBox1.Text = TextBox1.Text + ds(i).TotalFreeSpace.ToString '驅(qū)動器可用容量
End If
TextBox1.Text = TextBox1.Text + vbNewLine
Next
網(wǎng)頁標(biāo)題:vb.net獲取硬盤id的簡單介紹
文章源于:http://chinadenli.net/article22/dodijcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、網(wǎng)站排名、自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)