用diskid.dll和disk32.dll獲得硬碟序列號 (轉)
今天夜裡兩點,還沒有入睡,就把取得序列號的程式碼簡單寫了一下,沒有分別在不同的上,只在下除錯透過,如果有問題的話,請告訴我,我再修改
1.diskid.dll實現:
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 _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 Vtr(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.呼叫diskid32.dll實現:
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 "硬體產生程式碼為:" + Model
MsgBox "硬碟序列號為:" + ID
End Sub
說明:diskid.dll可從,diskid32.dll可從?id=1149&no=1">下載
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10794571/viewspace-974320/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 獲取網路卡MAC、硬碟序列號、CPU ID、BIOS編號(1) - 硬碟序列號 - 技術應用 - 豆豆網Mac硬碟iOS
- ASP.NET獲取CPU序列號,硬碟序列號ID,獲取網路卡編號ASP.NET硬碟
- 用api函式讀取硬碟的序列號 (轉)API函式硬碟
- 檢視硬碟序列號硬碟
- 在centos7下獲取 主機板 cpu 硬碟序列號CentOS硬碟
- win10 硬碟序列號怎麼查_win10系統如何查硬碟序列號Win10硬碟
- win10 查詢硬碟序列號方法 win10主機硬碟序列號怎麼看Win10硬碟
- 獲取SD卡序列號和廠商IDSD卡
- 教你用vbs指令碼獲取網路卡MAC,CPUID,硬碟序列號的實現程式碼指令碼MacUI硬碟
- 查詢硬碟序列號的參考方案硬碟
- 如何獲取BIOS序列號iOS
- Windows序列號集(轉)Windows
- 取得網路卡序列號 (轉)
- iPhone序列號和保修期怎麼查?iPhone序列號查詢啟用時間查詢教程iPhone
- [轉]指令碼獲取資源記憶體和硬碟大小指令碼記憶體硬碟
- 轉:Vmware 各個版本序列號大全
- 恭賀自己itpub和csdn雙雙獲得專家部落格稱號
- [轉帖]利用WebClient和WebRequest類獲得網頁原始碼Webclient網頁原始碼
- 從IT中獲得最大價值(轉)
- Javascript 身份證號獲得出生日期、獲得性別、檢查身份證號碼JavaScript
- 用Java獲得當前效能資訊Java
- 用pynotify獲得Google日曆提醒Go
- 用symbol來獲得ShadowSSDT的原始地址和函式名Symbol函式
- STRUTS2獲得session和requestSession
- 如和獲得系統熱鍵
- AIX檢視序列號和微碼命令AI
- 2023最新WebStorm 啟用序列號WebORM
- 使用 JavaScript 獲取 table 行號和列號JavaScript
- CCNA滿分獲得者的經驗(轉)
- RHCE適合的物件和獲得認證後具備的能力(轉)物件
- 利用磁碟的序列號進行軟體加密 (轉)加密
- 如何獲取Android唯一標識(唯一序列號)Android
- 20110408獲得ITPUB最佳版主稱號
- [轉]用Whois獲得電信運營商的IP地址是如何分配的?
- 用硬碟安裝Yoper linux(轉)硬碟Linux
- mdadm用iscsi硬碟和本機硬碟建立raid硬碟AI
- 玩轉固態硬碟 這些入門小知識你得懂硬碟
- SpringBoot獲得Maven-pom中版本號和編譯時間戳詳細步驟Spring BootMaven編譯時間戳