Mostrando Codigo - Visual Basic
Obtener numero de serie de una unidad
Este codigo se puede utilizar en las unidades de disco, Cd y Disco duro, para leer el numero de serie de la unidad especificada.
En primer lugar debemos crear un modulo
Proyecto > Agregar modulo
E introducir la primera parte del codigo
Posteriormente introducir el codigo en el formulario y un boton al que llamaremos Command1, el cual ejecutará la aplicacion.
En la linea 23 debemos modificar C: por la unidad de disco que deseemos.
CODIGO
// Codigo ofrecido por Tutores.org
' ---------- MODULO
Declare Function GetVolumeInformation Lib "kernel32.dll" Alias _
"GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal _
lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Integer, _
lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, _
lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal _
nFileSystemNameSize As Long) As Long
'---------- FORMULARIO
Function GetSerialNumber(strDrive As String) As Long
Dim SerialNum As Long
Dim res As Long
Dim Temp1 As String
Dim Temp2 As String
Temp1 = String$(255, Chr$(0))
Temp2 = String$(255, Chr$(0))
res = GetVolumeInformation(strDrive, Temp1, _
Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2))
GetSerialNumber = SerialNum
End Function
Private Sub Command1_Click()
Call MsgBox(GetSerialNumber("c:"))
End Sub
ENLACE AL CODIGO
Si quieres enlazar desde tu pagina a este codigo<!-- Inicio enlace Tutores.org -->
<a title="Tutores.org - Obtener numero de serie de una unidad" href="http://www.tutores.org/codigo/1068/" target="_blank">Obtener numero de serie de una unidad</a>
<!-- Final enlace Tutores.org -->
<a title="Tutores.org - Obtener numero de serie de una unidad" href="http://www.tutores.org/codigo/1068/" target="_blank">Obtener numero de serie de una unidad</a>
<!-- Final enlace Tutores.org -->
COMENTARIOS
jemch
la parte que dice:
Temp1 = string$(255, Chr$(0))
Temp2 = string$(255, Chr$(0))
Dice que el signo pesos no puede ser usado, y que string es un tipo 'class' y no puede ser usado como una expresión
Eso lo arrojó MSVB2005
Temp1 = string$(255, Chr$(0))
Temp2 = string$(255, Chr$(0))
Dice que el signo pesos no puede ser usado, y que string es un tipo 'class' y no puede ser usado como una expresión
Eso lo arrojó MSVB2005
cap
a mi tambien me sale el mismo error y no dicen si hay q usar una referencia o algo
Sliker
Ese mensaje de error te lo da, por que este código es para ser usado en Visual Basic 6, no 2005, ni 2008. Visual Basic 5 (quizás), pero el uso del dólar o símbolo de pesos ( $ ) es para escribir variables cortas de tipo STRING. Por ejemplo: a) Dim x as STRING; b) Dim x$. Para los enteros (INTEGER) y simples (SINGLE) puede ser usados símbolos como (% ENTERO) y otros, pueden encontrar ayuda sobre este tema en la ayuda de Microsoft Visual Basic 6. Saludos =)
pablo 27-09-2007 00:22:32
El código funciona en VB6, solo se le ólvido poner la despues de llamar a la función con "C:" va "C:" o la que quieran.
pablo 27-09-2007 00:22:32
va contra barra dsp de C:, perdon amigo.. y el foro no sale, por eso no estaba en el cód. :)
genesis
Yo lo use en VB en un programa hecho en Excel y me permitio protegerlo y solo se ejecute en la PC con licencia.
Gran Aporte
Muchas Gracias
Gran Aporte
Muchas Gracias
augusto 16-02-2010 17:29:09
hice la prueba con el visual para excel pero siempre me dice que el cerial es = sin ningun resultado
Juan 23/03/2004 14.09.13
He usado este codigo, pero obtengo "0" como numero de serie del disco "C", en cambio si pongo d para ver el numero de serie de la unidad "D" obtengo "-2005661924". No se si es que hago algo mal porque esperaba que el numero de serie del disco C fuera algo distinto de 0.
Gracias.
Gracias.
bham 09-02-2012 23:06:12
MUY BUEN APORTE, QUITE EL MENSAJE Y LE AGREGUE UNA VALIDACION PARA CAMBIAR DE FORMULARIO Y QUEDO EXCELENTE.
INSERTAR COMENTARIO







