我覺得你概念上有問題。

創(chuàng)新互聯(lián)公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都做網(wǎng)站、網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元武鄉(xiāng)做網(wǎng)站,已為上家服務(wù),為武鄉(xiāng)各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
首先編輯器只是一類軟件的名稱,即便你說是VB編輯器,可以是微軟出的VB6等IDE,我也可以說系統(tǒng)自帶的記事本也是VB編輯器,總之一般只要能編寫源代碼的就可以叫編輯器。
而.Net也只是一個.Net Framework框架而已,.Net包括很多技術(shù),不光是編程技術(shù)。
最后,你是不是要問VB6和VB.Net的關(guān)系?
如果是這個問題,我可以告訴你VB6是上個世紀(jì)的IDE,而VB.Net是Visual Studio大集成環(huán)境里面的一種而已,像C++,C#也集成在里面。他們兩個可以說除了語法還比較相像以外,沒有一點關(guān)系了,編程思想不同,編譯原理不同,運行機(jī)制不同,總之就是整個架構(gòu)都不同,不要覺得VB.Net就是VB6的本世紀(jì)升級版。
用API 函數(shù)GetVolumeInformation得到的不是硬盤的序列號!!!
BOOL GetVolumeInformation(
LPCTSTR lpRootPathName,
LPTSTR lpVolumeNameBuffer,
DWORD nVolumeNameSize,
LPDWORD lpVolumeSerialNumber,
LPDWORD lpMaximumComponentLength,
LPDWORD lpFileSystemFlags,
LPTSTR lpFileSystemNameBuffer,
DWORD nFileSystemNameSize
);
看看英文啊:VolumeSerialNumber!得到的只是卷區(qū)序列號!
硬盤的序列號應(yīng)該是
Drive Model Number________________: WDC WD400EB-00CPF0
Drive Serial Number_______________: WD-WCAATF083586
Drive Controller Revision Number__: 06.04G06
Controller Buffer Size on Drive___: 2097152 bytes
Drive Type________________________: Fixed
Drive Size________________________: 40020664320 bytes
中:
Drive Serial Number_______________: WD-WCAATF083586 這才是硬盤Serial Number!!!!
這個號是不會因為你格式化硬盤而改動,也不是網(wǎng)上流傳的修改工具能改的,(其實網(wǎng)上流傳的修改工具的也不過是卷區(qū)號而已!)
建議用 DiskID.dll或DiskID32.dll來獲取
用diskid.dll和disk32.dll獲得硬盤序列號
1.調(diào)用diskid.dll實現(xiàn):
Option Explicit
Private Declare Function IsWinNT Lib "DiskID.DLL" () As Long
Private Declare Function ReadPhysicalDrive9X Lib "DiskID.DLL" (driveID As Long, buffer As Long, bufLen As Long) As Long
Private Declare Function ReadPhysicalDriveInNT Lib "DiskID.DLL" (driveID As Long, buffer As Long, bufLen As Long) As Long
Private Type DRIVER_INFO_OK
ModalNumber(39) As Byte
SerialNumber(19) As Byte
ControlNum(7) As Byte
DriveType As Long
Cylinders As Long
Heads As Long
Sectors As Long
End Type
Private Sub Command1_Click()
Dim x As DRIVER_INFO_OK
Dim i As Long
If IsWinNT = 1 Then
i = ReadPhysicalDriveInNT(ByVal 0, ByVal VarPtr(x), ByVal 256)
Else
i = ReadPhysicalDrive9X(ByVal 0, ByVal VarPtr(x), ByVal 256)
End If
Dim s As String
s = StrConv(x.ModalNumber, vbUnicode)
s = Left(s, InStr(1, s, Chr(0)) - 1)
MsgBox "硬件廠商代碼為:" + s
s = StrConv(x.SerialNumber, vbUnicode)
s = Left(s, InStr(1, s, Chr(0)) - 1)
MsgBox "硬盤序列號為:" + s
End Sub
2.調(diào)用diskid32.dll實現(xiàn):
Option Explicit
Private Declare Function DiskID32 Lib "DiskID32.DLL" (ByRef DiskModel As Byte, ByRef DiskID As Byte) As Long
Private Sub Command1_Click()
Dim DiskModel(31) As Byte, DiskID(31) As Byte, i As Integer, Model As String, ID As String
If DiskID32(DiskModel(0), DiskID(0)) 1 Then
MsgBox "get diskid32 err"
Exit Sub
End If
For i = 0 To 31
If Chr(DiskModel(i)) Chr(0) Then
Model = Model Chr(DiskModel(i))
End If
If Chr(DiskID(i)) Chr(0) Then
ID = ID Chr(DiskID(i))
End If
Next
MsgBox "硬件產(chǎn)生代碼為:" + Model
MsgBox "硬盤序列號為:" + ID
End Sub
說明:diskid.dll可從下載
diskid32.dll可從下載
vb.net編譯出來的exe只有依賴.net
framework才能運行
但有一些第三方工具可以用來把exe用到的assembly和dll打包成一個exe文件,不過這樣的結(jié)果就是exe體積非常大
比如.netz工具,它的官方地址:
使用很簡單,比如你的exe文件是a.exe,直接netz
a.exe就可以把a(bǔ)和它用到的.net代碼一起打包成一個exe
標(biāo)題名稱:“vb.net源碼” vbnet源碼 免費下載
標(biāo)題來源:http://www.chinadenli.net/article44/ddogshe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、動態(tài)網(wǎng)站、網(wǎng)站維護(hù)、品牌網(wǎng)站設(shè)計、App開發(fā)、軟件開發(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)