vb.net - software - proteger proyecto visual studio
Para proteger el software accediendo a la serie del disco duro no (5)
En c #, pero entiendes la idea. Deseará usar System.Management para esto:
string driveLetter = Environment.SystemDirectory.Substring(0, 2);
string sn = new System.Management.ManagementObject("Win32_LogicalDisk.DeviceID=/"" + driveLetter + "/"").GetPropertyValue("VolumeSerialNumber").ToString();
Como otros han señalado, esta podría no ser la mejor manera de manejar esto. Sin embargo, ese es tu negocio.
Quiero obtener el código VB.NET o VB para acceder al número de serie del disco duro al iniciar el programa. Es para ayudarme a proteger mi propio software de personas que intentan piratear copias.
La gente a menudo necesita actualizar / reemplazar su disco duro. Es mejor usar el número de serie del DMI.
No puedo ofrecerle el código, lo siento, pero en su lugar, les doy una advertencia basada en mi experiencia previa en el área.
El "No de serie del disco duro" que fue utilizado por una serie de sistemas de licencias es en realidad un número suave que está escrito en el disco, no está conectado al hardware.
Las empresas que usaban el software "fantasma" para generar rápidamente muchas máquinas de escritorio o software de virtualización para generar rápidamente muchos servidores a menudo tenían una identificación idéntica de Disco Duro.
Así que ten cuidado si tu objetivo es evitar que las empresas compren una copia y la usen (quizás sin querer) en muchas máquinas.
De hecho, he usado el número de serie del disco para proteger mi software.
En vb 6.0, podemos crear y usar FileSystemObject. Permite acceder a los números de serie de los discos duros, además de varias otras funciones:
- mostrando el espacio libre y usado de cada disco duro
- Crear, eliminar, mover carpetas
- copiando archivos y carpetas
- impresión de archivos de texto
- ... etc.
Tenga en cuenta que antes de escribir el código y declarar el objeto debe activar
Project--> References --> Microsoft Scripting Runtime
El siguiente código extrae información sobre la unidad, pero también puede extraer el número de serie de la unidad.
Sub ShowDriveInfo(path)
Dim fso, drv, bytesPerGB, freeGB, totalGB, s
s = ""
bytesPerGB = 1024 * 1024 * 1024
Set fso = CreateObject("Scripting.FileSystemObject")
Set drv = fso.GetDrive(fso.GetDriveName(path))
s = s & drv.Path & " - "
if drv.IsReady Then
freeGB = drv.FreeSpace / bytesPerGB
totalGB = drv.TotalSize / bytesPerGB
s = s & FormatNumber(freeGB, 3) + " GB free of "
s = s & FormatNumber(totalGB, 3) + " GB"
Else
s = s & "Not Ready"
End If
s = s & "<br />"
document.write (s)
End Sub
Si aún lo necesita, por favor envíeme una nota a [email protected] o [email protected]. Te enviaré el código fuente.
A continuación, encontrará la respuesta exacta a su pregunta:
Function ShowDriveInfo(drvpath)
Dim fso, d, s, t
Set fso = CreateObject("Scripting.FileSystemObject")
Set d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)))
Select Case d.DriveType
Case 0: t = "Unknown"
Case 1: t = "Removable"
Case 2: t = "Fixed"
Case 3: t = "Network"
Case 4: t = "CD-ROM"
Case 5: t = "RAM Disk"
End Select
s = "Drive " & d.DriveLetter & ": - " & t
s = s & "<BR>" & "SN: " & d.SerialNumber
ShowDriveInfo = s
End Function