Membuat Serial Number
Pernahkan terpikirkan oleh Anda untuk mendistribusikan aplikasi yang Anda buat sebagai shareware? Sehingga orang dapat mencoba terlebih dahulu aplikasi tersebut dan mereka dapat mengetahui apakah aplikasi tersebut benar-benar berguna bagi mereka atau tidak.
Dengan mendistribusikan aplikasi yang hendak Anda jual dengan metode shareware maka dapat menekan biaya promosi dan dapat menjangkau pasar yang luas (seluruh dunia), Anda cukup meletakan aplikasi yang akan dijual tersebut dan mempromosikannya melalui website ataupun melalui mailing list, bagi mereka yang tertarik untuk mencoba aplikasi tersebut maka mereka tinggal download dari internet.
Aplikasi yang didistribusikan dengan metode shareware biasanya memiliki batasan waktu dalam penggunaannya dan jika batas waktu sudah habis maka user harus melakukan aktifasi dengan cara mendaftarkan aplikasi tersebut atau membeli lisensi kepada pemilik aplikasi tersebut dengan cara menyebutkan serial number pada aplikasi yang ada.
Ada juga jenis shareware yang tidak menggunakan batasan waktu, akan tetapi melakukan pembatasan pada fasilitas-fasilitas yang dapat digunakan. Bahkan ada juga yang tidak menggunakan batasan waktu atau pembatasan fasilitas, akan tetapi aplikasi yang digunakan akan selalu menampilkan iklan pada saat aplikasi tersebut digunakan.
Ketika pemilik aplikasi menerima pendaftaran atau pembayaran dari user yang ingin melakukan aktifasi, maka pemilik aplikasi akan mengirimkan activation key kepada user untuk dimasukan pada form aktifasi yang disediakan pada aplikasi yang digunakan.
Jika Anda sebagai pemilik aplikasi tentu Anda tidak ingin activation key tersebut dapat digunakan oleh beberapa user yang berbeda yang secara sengaja menggandakan aplikasi tersebut untuk keuntungan pribadi, hal ini dapat disiasati dengan cara menciptakan serial number yang berbeda untuk setiap user yang berbeda (satu user satu serial number) sehingga activation key hanya dapat digunakan oleh satu user saja.
Untuk menciptakan serial number yang unik untuk masing-masing user kita dapat memanfaatkan serial number yang terdapat pada harddisk, sehingga setiap aplikasi yang diinstal pada komputer yang berbeda maka akan memiliki serial number yang berbeda pula.
Contoh pembuatan serial number aplikasi dan activation key dengan memanfaatkan serial number yang terdapat pada harddisk dapat dilihat pada contoh program berikut.
===================================================================
Kode Program
====================================================================
Option Explicit
Private Declare Function GetVolumeInformation 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 Function GetHDDSerialNumber(ByVal DriveLetter As String) As String
Dim SN As Long
Dim VolumeNameBuff As String
Dim FileSystemBuff As String
VolumeNameBuff = String$(255, Chr$(0))
FileSystemBuff = String$(255, Chr$(0))
GetVolumeInformation UCase(DriveLetter) & “:\”, _
VolumeNameBuff, 255, SN, 0, 0, FileSystemBuff, 255
GetHDDSerialNumber = Trim(Hex$(SN))
End Function
Private Function CreateAppSerialNumber _
(ByVal HDDSerialNumber As String) As String
Dim i As Integer
Dim temp As String
Dim temp2 As String
temp = Empty
For i = 1 To Len(HDDSerialNumber) Step 2
temp = temp & Mid(HDDSerialNumber, i + 1, 1) & _
Mid(HDDSerialNumber, i, 1)
Next
For i = Len(temp) To 1 Step -1
Select Case Asc(Mid(temp, i, 1)) + 1
Case 48 To 57, 65 To 90, 97 To 122
temp = temp & Chr(Asc(Mid(temp, i, 1)) + 1)
Case Else
temp = temp & Mid(temp, i, 1)
End Select
Next
For i = 1 To Len(temp) Step 2
temp2 = temp2 & Mid(temp, i, 1) & _
Mid(temp, Len(temp) \ 2 + i, 1)
Next
CreateAppSerialNumber = temp2
End Function
Public Function CreateActivationKey _
(ByVal AppSerialNumber As String) As String
Dim i As Integer
Dim j As Integer
Dim temp As String
temp = Empty
For i = 1 To Len(AppSerialNumber) \ 2
temp = temp & (Asc(Mid(AppSerialNumber, i, 1)) Xor _
Asc(Mid(AppSerialNumber, Len(AppSerialNumber) \ 2 + 1, 1)))
Next
CreateActivationKey = Hex$(Val(temp))
End Function
Private Sub Form_Load()
txtSerialNumber.Text = CreateAppSerialNumber(GetHDDSerialNumber(”c”))
End Sub
Private Sub cmdHint_Click()
MsgBox “Activation Key: ” & _
CreateActivationKey(CreateAppSerialNumber _
(GetHDDSerialNumber(”C”)))
End Sub
Private Sub cmdOK_Click()
If txtActivationKey.Text = CreateActivationKey(txtSerialNumber.Text) Then
MsgBox “Thank you!”, vbOKOnly Or vbInformation, App.Title
Else
MsgBox “Wrong answer!”, vbOKOnly Or vbInformation, App.Title
End If
End Sub
Private Sub cmdCancel_Click()
Unload Me
End Sub
=======================================
sumber: http://it.visikita.net
=========================================
Dengan mendistribusikan aplikasi yang hendak Anda jual dengan metode shareware maka dapat menekan biaya promosi dan dapat menjangkau pasar yang luas (seluruh dunia), Anda cukup meletakan aplikasi yang akan dijual tersebut dan mempromosikannya melalui website ataupun melalui mailing list, bagi mereka yang tertarik untuk mencoba aplikasi tersebut maka mereka tinggal download dari internet.
Aplikasi yang didistribusikan dengan metode shareware biasanya memiliki batasan waktu dalam penggunaannya dan jika batas waktu sudah habis maka user harus melakukan aktifasi dengan cara mendaftarkan aplikasi tersebut atau membeli lisensi kepada pemilik aplikasi tersebut dengan cara menyebutkan serial number pada aplikasi yang ada.
Ada juga jenis shareware yang tidak menggunakan batasan waktu, akan tetapi melakukan pembatasan pada fasilitas-fasilitas yang dapat digunakan. Bahkan ada juga yang tidak menggunakan batasan waktu atau pembatasan fasilitas, akan tetapi aplikasi yang digunakan akan selalu menampilkan iklan pada saat aplikasi tersebut digunakan.
Ketika pemilik aplikasi menerima pendaftaran atau pembayaran dari user yang ingin melakukan aktifasi, maka pemilik aplikasi akan mengirimkan activation key kepada user untuk dimasukan pada form aktifasi yang disediakan pada aplikasi yang digunakan.
Jika Anda sebagai pemilik aplikasi tentu Anda tidak ingin activation key tersebut dapat digunakan oleh beberapa user yang berbeda yang secara sengaja menggandakan aplikasi tersebut untuk keuntungan pribadi, hal ini dapat disiasati dengan cara menciptakan serial number yang berbeda untuk setiap user yang berbeda (satu user satu serial number) sehingga activation key hanya dapat digunakan oleh satu user saja.
Untuk menciptakan serial number yang unik untuk masing-masing user kita dapat memanfaatkan serial number yang terdapat pada harddisk, sehingga setiap aplikasi yang diinstal pada komputer yang berbeda maka akan memiliki serial number yang berbeda pula.
Contoh pembuatan serial number aplikasi dan activation key dengan memanfaatkan serial number yang terdapat pada harddisk dapat dilihat pada contoh program berikut.
===================================================================
Kode Program
====================================================================
Option Explicit
Private Declare Function GetVolumeInformation 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 Function GetHDDSerialNumber(ByVal DriveLetter As String) As String
Dim SN As Long
Dim VolumeNameBuff As String
Dim FileSystemBuff As String
VolumeNameBuff = String$(255, Chr$(0))
FileSystemBuff = String$(255, Chr$(0))
GetVolumeInformation UCase(DriveLetter) & “:\”, _
VolumeNameBuff, 255, SN, 0, 0, FileSystemBuff, 255
GetHDDSerialNumber = Trim(Hex$(SN))
End Function
Private Function CreateAppSerialNumber _
(ByVal HDDSerialNumber As String) As String
Dim i As Integer
Dim temp As String
Dim temp2 As String
temp = Empty
For i = 1 To Len(HDDSerialNumber) Step 2
temp = temp & Mid(HDDSerialNumber, i + 1, 1) & _
Mid(HDDSerialNumber, i, 1)
Next
For i = Len(temp) To 1 Step -1
Select Case Asc(Mid(temp, i, 1)) + 1
Case 48 To 57, 65 To 90, 97 To 122
temp = temp & Chr(Asc(Mid(temp, i, 1)) + 1)
Case Else
temp = temp & Mid(temp, i, 1)
End Select
Next
For i = 1 To Len(temp) Step 2
temp2 = temp2 & Mid(temp, i, 1) & _
Mid(temp, Len(temp) \ 2 + i, 1)
Next
CreateAppSerialNumber = temp2
End Function
Public Function CreateActivationKey _
(ByVal AppSerialNumber As String) As String
Dim i As Integer
Dim j As Integer
Dim temp As String
temp = Empty
For i = 1 To Len(AppSerialNumber) \ 2
temp = temp & (Asc(Mid(AppSerialNumber, i, 1)) Xor _
Asc(Mid(AppSerialNumber, Len(AppSerialNumber) \ 2 + 1, 1)))
Next
CreateActivationKey = Hex$(Val(temp))
End Function
Private Sub Form_Load()
txtSerialNumber.Text = CreateAppSerialNumber(GetHDDSerialNumber(”c”))
End Sub
Private Sub cmdHint_Click()
MsgBox “Activation Key: ” & _
CreateActivationKey(CreateAppSerialNumber _
(GetHDDSerialNumber(”C”)))
End Sub
Private Sub cmdOK_Click()
If txtActivationKey.Text = CreateActivationKey(txtSerialNumber.Text) Then
MsgBox “Thank you!”, vbOKOnly Or vbInformation, App.Title
Else
MsgBox “Wrong answer!”, vbOKOnly Or vbInformation, App.Title
End If
End Sub
Private Sub cmdCancel_Click()
Unload Me
End Sub
=======================================
sumber: http://it.visikita.net
=========================================
0 Komentar untuk "Membuat Serial Number vb.6.0"