Hola, buenas tardes...
He estado haciendo el siguiente programa en Visual Basic 6...
Código:
Private Declare Function GetVolumeInformation Lib "Kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
Private Const MAX_FILENAME_LEN = 256
Public Function DriveSerial(ByVal sDrv As String) As Long
Dim retval As Long
Dim str As String * MAX_FILENAME_LEN
Dim str2 As String * MAX_FILENAME_LEN
Dim a As Long
Dim b As Long
Call GetVolumeInformation(sDrv & ":\", str, MAX_FILENAME_LEN, retval, a, b, str2, MAX_FILENAME_LEN)
DriveSerial = Mid(retval, 2, 10)
End Function
El cual me sirve para generar el serial del HD de mi computadora - aunque me parece que no es el correcto -, pero bueno. Tengo un formulario, donde tengo un botón para generar este serial, del cual me aparece una ventana donde me lo proporciona.
Código:
Private Sub BtnGenerar_Click()
Dim LimiteInferior As Integer
Dim LimiteSuperior As Integer
Dim CadenaDate As String
Dim CadenaRand As Integer
Dim CadenaFinal As Integer
'Randomize
LimiteInferior = 1000
LimiteSuperior = 9999
CadenaDate = Mid(Date, 1, 2) & Mid(Date, 4, 2) & Mid(Date, 7, 4)
CadenaRand = Int((LimiteInferior - LimiteSuperior + 1) * Rnd + LimiteInferior)
MsgBox "Por favor, envíanos este número para generar tu Código de Autorización. " & DriveSerial("C") & CadenaDate & CadenaRand
End Sub
Luego, en el mismo formulario, tengo un TextBox, donde me gustaría que apareciera el Serial generado, lo cual no he podido lograr y tengo otro TextBox donde hay que colocar un Número de Autorización que se generará a partir del primer Serial (estoy trabajando en el algoritmo para ello).
Pero bueno, mis preguntas son las siguientes: ¿Cómo puedo colocar el serial generado en un textbox? y como almacenar ese serial en alguna variable para luego hacer el código de activación?
Agradezco sus comentarios, saludos.