Function IfIsSerial()
Dim oWsh
Dim strSerial
Dim arrSerial
Dim strChar
Dim idx
Dim isummary
on error resume next
set WshShell = Server.CreateObject("WScript.Shell")
strSerial = WshShell.RegRead("HKLM\SOFTWARE\asong\wjdh\ProductId")
set WshShell = nothing
if len(strSerial)<>23 then
IfIsSerial = false
exit function
end if
arrSerial = split(strSerial,"-")
if (ubound(arrSerial)-lBound(arrSerial))<>3 then
IfIsSerial = false
exit function
end if
isummary = 0
strSerial = arrSerial(0)
idx = 1
Do While idx <= 5
strChar = Mid(strSerial, idx, 1)
isummary = isummary + (Asc(strChar) * 4)
idx = idx + 1
Loop
strSerial = arrSerial(1)
idx = 1
Do While idx <= 5
strChar = Mid(strSerial, idx, 1)
isummary = isummary + Asc(strChar) * 3
idx = idx + 1
Loop
strSerial = arrSerial(2)
idx = 1
Do While idx <= 5
strChar = Mid(strSerial, idx, 1)
isummary = isummary + Asc(strChar) * 2
idx = idx + 1
Loop
strSerial = arrSerial(3)
idx = 1
Do While idx <= 5
strChar = Mid(strSerial, idx, 1)
isummary = isummary + Asc(strChar)
idx = idx + 1
Loop
If isummary <> 3364 Then
IfIsSerial = False
Else
IfIsSerial = True
End If
End Function