📄 form2.vb
字号:
Imports Microsoft.Win32
Imports System.Management
Public Class Form2
Public MachineSN As String = ""
Public RegisterSN As String = ""
Public Part1 As String = ""
Public Part2 As String = ""
Public Part3 As String = ""
Function Encode(ByVal M As Char)
Dim n As Char = ""
Select Case M
Case "0"
n = "E"
Case "1"
n = "F"
Case "2"
n = "G"
Case "3"
n = "H"
Case "4"
n = "I"
Case "5"
n = "J"
Case "6"
n = "K"
Case "7"
n = "L"
Case "8"
n = "M"
Case "9"
n = "N"
Case Is >= "a"
If M <= "u" Then
n = Convert.ToChar(Convert.ToInt16(M) + 5 - 32)
Else
n = Convert.ToChar(Convert.ToInt16(M) - 21 - 32)
End If
Case Is >= "A"
If M <= "T" Then
n = Convert.ToChar(Convert.ToInt16(M) + 6)
Else
n = Convert.ToChar(Convert.ToInt16(M) - 20)
End If
Case Else
n = "N"
End Select
Return (n)
End Function
Private Sub Form2_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Login.MachineSN = Me.MachineSN
Login.RegisterSN = Me.RegisterSN
Login.Part1 = Me.Part1
Login.Part2 = Me.Part2
Login.Part3 = Me.Part3
End Sub
Private Sub Form2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Private Sub Form2_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
Dim RootKey As String = Registry.LocalMachine.ToString & "\Software\ODBC\ODBC.ini"
Dim MyDSNKey As String = RootKey & "\ODBC Data Sources"
Dim MyNewKeys As String = RootKey & "\BestmanTMD"
'以下设置ODBC数据源
'计算注册码
Try
Dim cmicWmi As New System.Management.ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive")
Dim Uint32 As String = ""
For Each cmicWmiObj As ManagementObject In cmicWmi.Get
Uint32 = cmicWmiObj("signature")
Next
If Uint32 = "" Then
Uint32 = 5106487952
End If
MachineSN = Uint32
Dim Wmi As New System.Management.ManagementObjectSearcher("SELECT * FROM Win32_Processor")
Dim Uint321 As String = ""
For Each WmiObj As ManagementObject In Wmi.Get
Uint321 = WmiObj("ProcessorId")
Next
If Uint321 = "" Then
Uint321 = "00000F48"
End If
MachineSN += Uint321.Substring(Uint321.Length - 4, 4)
Dim Wmi1 As New System.Management.ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration")
Dim Mac As String = ""
For Each WmiObj As ManagementObject In Wmi1.Get
If CBool(WmiObj("IPEnabled")) Then
Mac = WmiObj("MACAddress").ToString.Replace(":", "")
End If
Next
If Mac = "" Then
Mac = "0F608EDA"
End If
MachineSN += Mac
Catch ex As Exception
MachineSN = "51064879520F480F608EDA"
End Try
Dim MyChar() As Char = MachineSN.ToCharArray
Dim Result(MyChar.Length - 1) As Char
For i As Integer = 0 To MyChar.Length - 1
Result(i) = Encode(MyChar(i))
Next
If Result.Length <= 18 Then
Exit Sub
End If
Part1 = Result(2) + Result(3) + Result(5) + Result(8) + Result(10)
Part2 = Result(11) + Result(15) + Result(17)
Part3 = Result(Result.Length - 1) + Result(12) + Result(4) + Result(1) + Result(9)
RegisterSN = Part1 + Part2 + Part3
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -