Bueno, pues aqui les quiero compartir algo que me costo mucho trabajo y no encontre en internet, asi que como se muy poco de programacion edite varios programas hasta darle al clavo.
Si quieres que tu programa solo sea ejecutado en maquinas muy particulares, este pequeño programa es para ti, lo que hace es tomar la MAC, LA IP y el nombre de red del equipo y compararlo, si cumple con lo solicitado, nos deja ejecutar el programa, si no nos revota.
en mi caso, hice un programita para mi trabajo, donde solo hay 2 personas quienes tienen pemitido hacer lo que programe entonces, si alguien se los llega a quitar, o a tomar de su computadora, no servira de nada solo puede ser ejecutado para la computadora que fue designada..
tambien considero que puede ser util añadido a un TRIAL :D asi un trial y para 1 equipo en particular, esta mas dificil aun
para agregarlo a nuestro programa, solo hay que llamarlo (Agrega esta linea a tu programa)
Código: Seleccionar todo
#Include<mac3.au3>
Código: Seleccionar todo
;Luis (learvit) [email protected]
_CallFunction(0)
Func _CallFunction($iFunctionNr)
Local $sMsg = 'Fertig.', $aInfo
Switch $iFunctionNr
Case 0
$aInfo = _CI_GetNetworkAdapter()
EndSwitch
EndFunc
Func _CI_GetNetworkAdapter($strComputer = '.')
Local $aReturn[1][1] = [[ _
'Mac Adress:']]
Local $x = 0, $objWMIService, $colItems, $colItems2
$objWMIService = ObjGet('winmgmts:\\' & $strComputer & '\root\cimv2')
If Not IsObj($objWMIService) Then Return SetError(1, 0, 0)
$colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_NetworkAdapter WHERE Netconnectionstatus > 0', 'WQL', 0x30)
If Not IsObj($colItems) Then Return SetError(2, 0, 0)
For $objItem In $colItems
$x += 1
ReDim $aReturn[$x + 1][1]
$aReturn[$x][0] = $objItem.MACAddress
$var = "E2:E6:16:20:0A:35" <- MAC DEL EQUIPO1 DONDE DESEAS QUE SEA EJECUTADO TU PROGRAMA
$var2= "00:22:68:53:DF:8B" <- MAC DEL EQUIPO2 DONDE DESEAS QUE SEA EJECUTADO TU PROGRAMA
$var3= "08:00:27:86:BC:11" <- MAC DEL EQUIPO3 DONDE DESEAS QUE SEA EJECUTADO TU PROGRAMA
Select
Case $var = $objItem.MACAddress and @ComputerName = "Aqui_El_Nombre_de_red_de_Tu_Compu" And @IPAddress1 = "10.10.10.10"
MsgBox(0, "Seguridad virtual", "Aceptado", 1)
ExitLoop
Case $var2 = $objItem.MACAddress And @ComputerName = "computer_name" And @IPAddress1 = "10.20.30.40"
MsgBox(0, "Seguridad virtual", "Aceptado", 1)
ExitLoop
Case $var3 = $objItem.MACAddress And @ComputerName = "computer_name" And @IPAddress1 = "192.168.1.107"
MsgBox(0, "Seguridad virtual", "Aceptado", 1)
ExitLoop
Case Else
MsgBox(0, "Seguridad virtual", "¡No tienes Permitido el uso de este programa!")
Exit
EndSelect
Next
EndFunc
Y si no sabes de donde sacar esos datos??? solo agrega estas lineas antes de las VAR (donde estan listadas las MAC)
Código: Seleccionar todo
MsgBox(0, "Seguridad virtual", $objItem.MACAddress)
MsgBox(0, "Seguridad virtual", @ComputerName)
MsgBox(0, "Seguridad virtual", @IPAddress1)
Saludos desde México