Senin, 11 Agustus 2008

Menemukan No Seri Komputer

Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" _
(ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) _
As Long

Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias _
"RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, _
ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As _
Long) As Long

Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As _
Long) As Long

Const HKEY_LOCAL_MACHINE As Long = &H80000002
Const RegKey As String = "SOFTWARE\MICROSOFT\Windows NT\CurrentVersion"
Const XlatProdId As String = "BCDFGHJKMPQRTVWXY2346789"

Private Sub Form_Load()
Dim hKey As Long
Dim ProdID(0 To 164) As Byte
Dim i As Long
Dim j As Long
Dim k As Long
Dim vHasil As String

If RegOpenKey(HKEY_LOCAL_MACHINE, RegKey, hKey) = 0 Then
k = 255
If RegQueryValueEx(hKey, "DigitalProductId", 0&, 3, _
ProdID(0), k) = 0 Then
For i = 1 To 25
k = 0
For j = 66 To 52 Step -1
k = k * 256 Xor CLng(ProdID(j))
ProdID(j) = k \ 24
k = k Mod 24
Next j
vHasil = IIf(i Mod 5, "", "-") & Mid$(XlatProdId, _
k + 1, 1) & vHasil
Next i
vHasil = Mid$(vHasil, 2)
Else
vHasil = "Not Registered"
End If
RegCloseKey hKey
Else
vHasil = "Not Registered"
End If

MsgBox "No Seri: " & vHasil, 64, "Ops i get it"
End Sub

Tidak ada komentar: