Chúng ta bắt đầu bắt tay vào viết chương trình bản quyền cho ứng dụng mà mình đang phát triển nhé.
Demo Hình Ảnh Keygen.
Bây giờ, hãy quay lại Form1 và thêm thư viện
System.Management
. Nhấp chuột phải vào dự án và chọn Thêm tham chiếu, nhấp vào Tab .NET
sau đó cuộn xuống cho đến khi bạn tìm thấy System.Management
và nhấp vào OK
Bây giờ, đi vào mã và khai báo một số biến toàn cục cần thiết
Public Class Form1 Dim Win32MnClass As System.Management.ManagementClass Dim processors As System.Management.ManagementObjectCollection Dim iHung, Output, Inputan, iHungkey, prosesor As String Dim iHung_Input As Integer End Class
Sau đó, chúng tôi sẽ đọc mã bộ xử lý trên thiết bị chúng tôi sử dụng sau đó chúng tôi hiển thị nó vào
Textbox1
.Double-click Form1
và nhập mã sau vào Form_Load
.Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Win32MnClass = New System.Management.ManagementClass("Win32_Processor") processors = Win32MnClass.GetInstances() For Each processor As System.Management.ManagementObject In processors prosesor = (processor("ProcessorID").ToString()) TextBox1.Text = prosesor Next End Sub
Và đồng thời, chương trình sẽ phát hiện xem thiết bị được sử dụng đã được kích hoạt hay chưa. Nếu không, chương trình sẽ hiển thị một thông báo cảnh báo và ở lại
Form1
, nếu có, Form1
sẽ bị ẩn và Form2
sẽ xuất hiện.Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Win32MnClass = New System.Management.ManagementClass("Win32_Processor") processors = Win32MnClass.GetInstances() For Each processor As System.Management.ManagementObject In processors prosesor = (processor("ProcessorID").ToString()) TextBox1.Text = prosesor Next Inputan = prosesor iHung_Input = Len(Inputan) For i = 1 To iHung_Input iHung = Mid(Inputan, i, 1) iHung = Asc(iHung) iHung = (iHung + 20) - 43 iHung = Chr(iHung)
Output = Output & iHung Next i iHungkey = Output If My.Computer.Registry.GetValue("HKEY_CURRENT_USER\" + iHungkey, "Andi", "Aspin") Is Nothing Then MessageBox.Show("Mã kích hoạt không được phát hiện", "Warning !!", MessageBoxButtons.OK, MessageBoxIcon.Error) Else Me.Hide() Form2.Timer1.Enabled = False Form2.ShowDialog() End If End Sub
Ghi chú.
một số mã bổ sung ở trên phục vụ cho quá trình mã hóa của mã bộ xử lý, sau đó được lưu trữ vào biếniHungkey
.sau đó, giá trị của biến
Bây giờ, iHungkey
sẽ được lưu trữ trong Windows Registry Editor (Regedit)
trong thư mục HKEY_CURRENT_USER.double-click Button 2
và nhập mã sau đây, để người dùng có thể bỏ qua quá trình kích hoạt và nhập vào Form2
nhưng trong một thời gian nhất định.Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Visible = False Form2.ShowDialog() End SubSau đó, bấm đúp vào Nút 1 và nhập mã sau đây, để khớp xem mã kích hoạt được nhập trong
Textbox2
có bằng giá trị của biến iHungkey
hay không. Nếu thích hợp, thì Form1
sẽ bị ẩn và Form2
sẽ xuất hiện mà không giới hạn thời gian, nếu không nó sẽ hiển thị một thông báo cảnh báo.Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox2.Text = iHungkey Then My.Computer.Registry.SetValue("HKEY_CURRENT_USER\" + iHungkey, "Andi", "Aspin") MessageBox.Show("Mã kích hoạt chính xác", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information) Me.Visible = False Form2.Timer1.Enabled = False Form2.ShowDialog() Else MsgBox("Mã kích hoạt không chính xác", MsgBoxStyle.Exclamation) End If End Sub
Và cuối cùng, mở
Form2
và thay đổi các thuộc tính Timer1 properties to Enabled
: True, Sau đó bấm đúp vào Timer1
và nhập mã sau đây.Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Static iCount As Integer If iCount = 50 Then iCount = 0 Me.Dispose() Form1.Dispose() Else
iCount = iCount + 1 End If End Sub
Ghi chú.
Đoạn mã trên hoạt động nếuTimer1
được bật: Đúng thì Form2
chỉ có thể xuất hiện trong 5 giây, Nếu Timer1
được bật: Sai thì Form2
sẽ xuất hiện mà không giới hạn thời gian.Bạn có thể thay đổi 5 giây thành 10 giây (ví dụ) bằng cách thay đổi 50 thành 100.
VIDEO DEMO.
Chúc mọi người thành công với tiện ích trên.