[/quote]
Oye byway , si no es mucha molestia cambia el link a megaupload o rapidshared por favor. Gigasize es màs publicidad que nada¡
Gracias
Casi todo lo que publico lo subo al gigasize en una cuenta mia, asi veo cuanto tiempo esta online que son 90 dias si nadie lo baja.Gracias
No es demasiado dificil parchear la llamada a esta API
Y por cierto, el VB ya tiene una funcion que hace lo mismo:
Saludos
Y por cierto, el VB ya tiene una funcion que hace lo mismo:
Código
If (StrComp("HOLA", "HOLA") = 0) Then MsgBox "Son iguales" End If
Saludos
o sino con Option Compare Text...
bueno se que tienen razon .. tambien se puede usar esas funciones de la libreria del vb6.0, pero en este caso uso una api para la comparacion de cadenas para la verificacion, y claro parchar esto debe ser mas facil que seguirle los rastros ala dll.no entiendo para que demonios necesitas comparar una cadena usando un api y que tiene que ver para evitar copias no autorizadas...
me acuerdo que yo usaba una conexion hacia una web, y esta brindaba la informacion si esa aplicacion estaba autorizada;e iba registrando las variaciones de los nuevos Ips de la maquina, asi se podria saber si el programa estaba siendo ejecutado en varios ordenadores... haciendo un previo estudio de las variaciones (manejo de informacion)
no me acuerdo por donde deje mi codigo, me da pereza volverlo a hacer...
Para que demonios... pues para saber si son iguales ... y que tiene que ver para evitar copias autorizadas .. pue esa es la idea.. lol, pero como eres muy atento pudiste ver que escribi Sistema simple para evitar copias no autorizadas, y eso de la web y todo ese rollo de tus codigos y no se que mas ... andate... pues esa no es mi idea .. esto es para una pekeña aplicacion que hize .. instalarlo enla pc del usuario y no volverlo a ver mas... y te recalco SIMPLE... ok sabiondo ya lo entendiste...
PD: lo que publike no es una pregunta ni duda estupida como las de otros tratando de modificar codigo ajeno de programas tontos como troyanos y toda esa m.. ademas yo nunca critique tus codigos ni nada... ni te eche flores ... pero bueno ahora te dire ... para que mier... sirve ese cubo girando ... que hisiste con funciones matematicas ... que kerias demostrar .. que eres buen programador... por tu forma de replicar este post .. estas lejos a eso... y eso que tu vida es la programacion ...
Como yo casi nunca edito post pondre el codigo simple de mi sistema simple
Fom1:
Modulo1:
me acuerdo que yo usaba una conexion hacia una web, y esta brindaba la informacion si esa aplicacion estaba autorizada;e iba registrando las variaciones de los nuevos Ips de la maquina, asi se podria saber si el programa estaba siendo ejecutado en varios ordenadores... haciendo un previo estudio de las variaciones (manejo de informacion)
no me acuerdo por donde deje mi codigo, me da pereza volverlo a hacer...
Para que demonios... pues para saber si son iguales ... y que tiene que ver para evitar copias autorizadas .. pue esa es la idea.. lol, pero como eres muy atento pudiste ver que escribi Sistema simple para evitar copias no autorizadas, y eso de la web y todo ese rollo de tus codigos y no se que mas ... andate... pues esa no es mi idea .. esto es para una pekeña aplicacion que hize .. instalarlo enla pc del usuario y no volverlo a ver mas... y te recalco SIMPLE... ok sabiondo ya lo entendiste...
PD: lo que publike no es una pregunta ni duda estupida como las de otros tratando de modificar codigo ajeno de programas tontos como troyanos y toda esa m.. ademas yo nunca critique tus codigos ni nada... ni te eche flores ... pero bueno ahora te dire ... para que mier... sirve ese cubo girando ... que hisiste con funciones matematicas ... que kerias demostrar .. que eres buen programador... por tu forma de replicar este post .. estas lejos a eso... y eso que tu vida es la programacion ...
Como yo casi nunca edito post pondre el codigo simple de mi sistema simple
Fom1:
Código
Private Sub Form_Initialize() If App.PrevInstance = True Then ' verificamos que solo se ejecute una solo una vez la app End End If End Sub Private Sub Form_Load() verifica ' llamamos al procedimiento de verificacion End Sub Private Sub verifica() On Error Resume Next Dim nombre, disco As String Dim nombre2, disco2 As String Dim DLetra As String If GetDriveType(DLetra) Then nombre = Environ("computername") 'obtenemos el nombre de la pc y le asignamos a la variable disco = SerieDisco(DLetra) 'obtenemos datos del disco duro y le asignamos a la variable End If If Dir(App.Path & "\registro.dat") <> "" Then 'verificamos si existe el archivo de registro Open App.Path & "\registro.dat" For Input As #1 'abrimos el archivo de registro Do Until EOF(1) Input #1, nombre2 'obtenemos las cadenas y le asignamos a las variables Input #1, disco2 Loop Close #1 If lstrcmp(disco, disco2) = 0 Then 'comparamos las cadenas obtenidas con las del registro 'Todo esta conforme, entonces sigo con el nombre de la pc If lstrcmp(nombre, nombre2) = 0 Then 'Todo esta conforme, entonces mostramos el form1 Form1.Show Else 'no esta conforme el nombre de la pc, entonces anunciamos y terminamos todo MsgBox ("Pc no Autorizado, contacte con su proveedor... se cerrara la aplicacion"), vbOKOnly End End If Else 'no esta conforme los datos del disco duro, entonces anunciamos y terminamos todo MsgBox ("Pc no Autorizado, contacte con su proveedor... se cerrara la aplicacion"), vbOKOnly End End If Else 'no se encontro el archivo de registro, entonces anunciamos y terminamos todo MsgBox ("No se encontro el archivo registro.dat, contacte con su proveedor... se cerrara la aplicacion"), vbOKOnly End End If End Sub
Modulo1:
Código
Option Explicit 'api para la compracion de 2 cadenas en forma sensitiva .. toma en cuenta todos los caracteres Declare Function lstrcmp Lib "kernel32" Alias "lstrcmpA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long 'apis para obtener datos del disco duro Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal sDrive As String) As Long 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 'Funcion para leer serie de disco duro Escrito por JuanPereZ /aRC/ 'Solo he utilizado el parametro para obtener serie Function SerieDisco(SD As String) As String Dim SERIE As Long GetVolumeInformation SD, 0, 255, SERIE, 0, 0, 0, 255 SerieDisco = SERIE End Function