Proteccion proyecto

11/10/2004 - 10:09 por JuanmaX | Informe spam
Hola.

Estoy haciendo un programa en VB.Net y necesitaria leer el numero de serie
del disco duro. Esto es para hacer un sistema anticopia.

Me podriais ayudar?

Muchas Gracias
 

Leer las respuestas

#1 Martin Cid
11/10/2004 - 17:06 | Informe spam
Hola Juanma, llevo un tiempo detras de algo asi sin exito. Hay una API que
te da el nº de serie del volumen del HD e incluso en net hay alguna utilidad
parecida pero eso es bastante saltable solo tienen que clonar el HD y se lo
saltan (Te pongo algo abajo).
Tambien hay una utilidad llamada ActiveLock que si obtiene el nº de serie
fiisico del disco pero solo para VB6 no va en net (a ver si se actualizan).
Si te enteras de algo te agradezco que me lo pases a
. Un saludo.


Dim unidad As New ManagementObject("Win32_LogicalDisk.DeviceId=""C:""")
MsgBox(unidad.Properties("VolumeSerialNumber").Value)

Private Function GetFirstHdSerial() As String
Dim sHdSerial As String = ""
Dim wmiClass As New ManagementClass("Win32_LogicalDisk")
Dim driveFixed As UInt32 = UInt32.Parse("3") 'Tipo 3 = disco duro

For Each drive As ManagementObject In wmiClass.GetInstances()
Dim propertyValue As Object = drive("DriveType")

If Not propertyValue Is Nothing AndAlso _
CType(propertyValue, UInt32).Equals(driveFixed) Then

propertyValue = drive("VolumeSerialNumber")

If Not propertyValue Is Nothing Then
sHdSerial = CType(propertyValue, String)
End If

drive.Dispose()
Exit For
End If

drive.Dispose()
Next

wmiClass.Dispose()
Return sHdSerial
End Function

Recuerda agregar una referencia a System.Management.dll, y agregar la
siguiente sentencia al inicio del archivo donde pongas esta función:
Imports System.Management

"JuanmaX" <juanmax1(Quitar)@terra.es> escribió en el mensaje
news:%
Hola.

Estoy haciendo un programa en VB.Net y necesitaria leer el numero de serie
del disco duro. Esto es para hacer un sistema anticopia.

Me podriais ayudar?

Muchas Gracias

Preguntas similares