Hola Amigos
Bueno como siempre el Ser humano siempre esta inventando algo. JAJA
Bueno les dejo el mismo Código pero con algunas modificaciones.
Private Declare Function GetVolumeInformation& Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal pVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long)
Private Sub Form_Load()
Dim cad1 As String * 256
Dim cad2 As String * 256
Dim numSerie As Long
Dim longitud As Long
Dim flag As Long
unidad = "C:\"
Call GetVolumeInformation(unidad, cad1, 256, numSerie, longitud, flag, cad2, 256)
Primera.Caption = numSerie
Reg1.Text = GetSetting("FacturaZax", "Registro Aplicación", "Serial1", Reg1.Text)
Reg2.Text = GetSetting("FacturaZax", "Registro Aplicación", "Serial2", Reg2.Text)
Reg3.Text = GetSetting("FacturaZax", "Registro Aplicación", "Serial3", Reg3.Text)
If (Val(Reg1.Text) = (numSerie + 896576537)) And (Val(Reg2.Text) = (numSerie + 167235485)) And (Val(Reg3.Text) = (numSerie + 349824653)) Then
Unload Me
frmMain.Show
Exit Sub
Else
MsgBox "Aplicación no Registrada en su Computador"
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
SaveSetting "FacturaZax", "Registro Aplicación", "Serial1", Reg1.Text
SaveSetting "FacturaZax", "Registro Aplicación", "Serial2", Reg2.Text
SaveSetting "FacturaZax", "Registro Aplicación", "Serial3", Reg3.Text
End Sub
Nota: En donde dice FacturaZax pongan el nombre del programa que van a incluir este Código.
Y la ruta en la que se va a Guardar es la Siguiente:
HKEY_CURRENT_USER\Software\VB and VBA Program Settings\ Nombre del Programa
Una pregunta. Como puedo hacer para que el Serial séa Codificado.
Ejemplo:
692BC60F-F014-4A69-8C1C-DA5E79B4134A y que el Codigo sería: 123456789
Es decir hace una forma de proteger el Serial.
Saludos