Rabu, 01 Februari 2012

Membaca Serial Number Harddisk

Harddisk komputer kita memiliki serial number yang berbeda-beda satu dengan lainnya, bahkan jika kita membagi harddisk menjadi beberapa partisi, misal C,D,E dan seterusnya, maka masing-masing partisi memiliki serial yang berbeda.
 
Program ini berfungsi untuk mengetahui serial number dari setiap partisi harddisk kita, sehingga antara partisi C dan D memiliki serial number yang berbeda.
Serial Number ini dapat juga dijadikan sebagai proteksi bagi kita yang ingin membuat program aplikasi yang memiliki pedeteksian serial number, karena otomatis serial number program kita ditiap komputer berbeda-beda. 
 
oke langsung saja kita mulai pembuatan program sederhana ini.
 
buatlah project baru, tambahkan Form seperti gambar diatas dan sebuah modul. didalam modul tuliskan code berikut ini :
 
Public sValid As Boolean
Public vKunci As String

Private Declare Function GetVolumeInformation Lib "kernel32.dll" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Integer, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

Private Const DRIVE_FIXED = 3

Dim sDrive As String
Dim iCtr As Integer

Function GetSerialNumber(strDrive As String) As Long
    Dim SerialNum As Long
    Dim Res As Long
    Dim Temp1 As String
    Dim Temp2 As String
   
    Temp1 = String$(255, Chr$(0))
    Temp2 = String$(255, Chr$(0))
    Res = GetVolumeInformation(strDrive, Temp1, _
    Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2))
    GetSerialNumber = SerialNum
End Function

Public Function CekProduk(nDrive As String) As String
Dim VarSerial As String
Dim KeyID As Double
Dim SNumber As Double
Dim vAbjad As String
Dim nToko As String
Dim NmrID As Double
nDrive = nDrive & ":\"
If GetDriveType(nDrive) = DRIVE_FIXED Then
    VarSerial = GetSerialNumber(nDrive)
    VarSerial = IIf(InStr(1, VarSerial, "-") > 0, Replace(VarSerial, "-", ""), VarSerial)
    CekProduk = VarSerial
End If
End Function

oke, setelah menulis code diatas didalam module sekarang kita masukkan code kedalam Form sebagai berikut :

Private Sub CmdExit_Click()
End
End Sub

Private Sub CmdGetSN_Click()
TxtSN.Text = CekProduk(UCase(Left(Drive1.Drive, 1)))
End Sub


oke, coba jalankan program, pilih salah satu drive dan klick Tombol Get SN
 
 
 

Tidak ada komentar:

Posting Komentar