BLOG ĐANG TRONG THỜI GIAN PHÁT TRIỂN, MONG SỰ QUAN TÂM CỦA MỌI NGƯỜI DÀNH CHO BLOG MỚI NÀY CỦA HUNG.PRO.VN

[VB.Net] Cách tạo chương trình bản quyền trong Visual Basic

Xin chào mọi người, bài viết này mình chia sẽ cho mọi người cũng đã lâu. Nay mình vừa làm lại blog vì một số lý do nên những bài viết trước đã bị loại bỏ khỏi blog, nên hôm nay mình chia sẽ lại những thứ mình viết trước kia cho mọi người cập nhật nhanh từ blog của mình.
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ến iHungkey.
sau đó, giá trị của biến iHungkey sẽ được lưu trữ trong Windows Registry Editor (Regedit) trong thư mục HKEY_CURRENT_USER.
Bây giờ, 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 Sub
Sau đó, 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ếu Timer1 đượ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.

1 comment

  1. https://www.youtube.com/watch?v=vYXeCY17sEg

    login email Verification