Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: YAcosta en Junio 03, 2014, 07:55:59 pm
-
¿Saben de que forma podria detectar mi aplicativo si esta en una maquina virtual?¿Se podria detectar con VB6?
SAludos
-
Estimado YAcosta
Si es posible, al menos para las maquinas virtuales de Microsoft. Hay que leer una llave en el registry de Windows y mediante WMI
Aquí te dejo un link
http://blogs.technet.com/b/tonyso/archive/2009/08/20/hyper-v-how-to-detect-if-you-are-inside-a-vm.aspx (http://blogs.technet.com/b/tonyso/archive/2009/08/20/hyper-v-how-to-detect-if-you-are-inside-a-vm.aspx)
Saludos desde algún lugar de Lima-Perú
-
Ivan, autointerrogando a la PC con este código se supone que podrías determinarlo.
strComputer = "computername"
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48)
For Each objItem in colItems
strModel = objItem.Model
If strModel = "Virtual Machine" Then
debug.print "This is a virtual machine!"
else
debug.print "This is NOT a Virtual Machine"
End if
Next
Saludos desde algún lugar de Lima-Perú
-
EXCELENTE!!! mi amigo, con esto que me diste y leyendo un poco de aqui y de alla modifique un pelito el código y funciono:
(http://i.snag.gy/TxbJm.jpg)
Lo que no sabia (ni imaginaba) es que se pudiera hacerse una consulta sql al objeto... aun no me queda claro del todo pero imagino que hay una BD (¿la del registro de windows?) que reune esa información y esa es en si una BD.
Gracias por el dato.
Codigo usado:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem", , 48)
For Each objItem In colItems
strModel = objItem.Model
If strModel = "Virtual Machine" Or strModel = "VirtualBox" Then
Debug.Print "This is a virtual machine!"
Else
Debug.Print "This is NOT a Virtual Machine"
End If
Next
-
Hola Yvan te tiro un link de un hilo donde se trato a fondo este tema, y cobein tiro otra función, la cual no usa WMI, (restricciones de permisos en vista y superiores), fijate que hay dos funciones una larga al principio y una mas corta al final, y ademas te dicen si es Virtual Machine, VMWARE o VBOX
http://foro.elhacker.net/programacion_vb/isvirtualpcpresent_no_wmi_source-t219126.0.html
Edit:
Aca algo que recién acabo de cruzarme que quizás se pueda añadir a la función
http://www.sinfocol.org/2013/01/rutinas-para-la-deteccion-del-uso-de-maquinas-virtuales/
-
Juasss, esto es como el segundo orgasmo inmediatamente después del primero. Excelente papá, muchas gracias.
Saludos
-
uchale que postura difícil pensar que te viniste con mi respuesta, un gracias hubiera estado bien jajaja
-
jajaj. Al Cesar lo que es del Cesar jajaj.
Ese ultimo que hallaste esta repaja, de momento voy a usar el ultimo del foro elhacker, en la virtual obtengo 3, en la "real" obtengo 0 y con eso me basta.
Gracias
-
Hola, tengo una duda siempre he utilizado virtualpc2007 y es imposible obtener el serial del disco duro(el de fabrica) dado que es una maquina virtual y me da como resultado " ", la consulta es si con virtualbox, vmware pasa lo mismo o estos programas tambien te crear un serial virtual?