Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: FrankLizardo en Febrero 11, 2012, 11:36:06 am
-
hola a toos otra vez con un problema
estoy trabajando con sistema windows 7 enterprise 64 bits el problema es q quiero recuperar el contenido de un registro DWORD de 64 bits en vb 6.0
antes lo hacia de esta forma con 32 bits
por ejmplo el Winrar q instale es de 64 BITS y quiero su registro
Dim WScr As Object, X As String
Set WScr = CreateObject("WScript.Shell")
X = WScr.RegRead("HKLM\SOFTWARE\WinRAR\Capabilities\ApplicationDescription")
MsgBox X
-
ejecutas como administrador?
busca en regedit, no me acuerdo como era:
HKLM\SOFTWARE\syswow64
o algo asi era...
PD:si no te sale, busca la descripcion en uninstall ahi tambien esta toda la data.
-
cuando un sistema operativo es de 64 bits, tu aplicacion va a tratar de leer del registro de 64 bits, en ves de el de 32 que esta dentro de syswow64 como te dijeron.
saludos.
-
@seba: cuando el sistema es de 64, y tu aplicacion es de 32, va a leer el SysWOW64. hasta ahora no vi forma posible de leer algun registro de una aplicacion de 64 bits, por una de 32
igual yo creo que debe haber algo...
-
@seba: cuando el sistema es de 64, y tu aplicacion es de 32, va a leer el SysWOW64. hasta ahora no vi forma posible de leer algun registro de una aplicacion de 64 bits, por una de 32
igual yo creo que debe haber algo...
no, al reves 8), en la carpeta SysWOW64 se almacena todo lo de 32 bits (no se porque carajo le pusieron SysWOW64 si ahi se encuentran las cosas de 32 bits), igualmente para el registro de windows.
por ejemplo, yo si tenes una aplicacion que lee del registro, supongamos de HKEY_LOCAL_MACHINE\Software\Microsoft\ para verificar si existe una clave.
en una pc de 32 bits va todo bien, lo lee de ahi porque es el unico que hay, ahora si es de 64 va a leer del mismo lugar ovbiamente , pero te va a dar que no existe la clave ya que ese path HKEY_LOCAL_MACHINE\Software\Microsoft\ en un sistema de 64 bits, ahi estan las claves de 64 bits, pero deberia leer de las claves de 32 que estan en HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft
tambien fijate en el administrador de tareas, en un sistema de 64 bits, se ve que cada aplicacion tiene un asteristo y un 32, por ejemplo firefox.exe *32, eso quiere decir que esa aplicacion esta corriendo en modo compatibilidad como 32 bits, y por lo tanto hace todo como si fuera de 32, guarda las claves en el registro y las lee dentro del nodo Wow6432Node, las aplicaciones de visual basic van a tener siempre este *32.
pero vi en internet una ves no me acuerdo como se llama, la he probado y funciono, es una aplicacion que te cambia el modo de 32 bits a 64, o sea te la convierte y actua como si fuera de 64 o sea te desaparece ese *32.
saludos.
-
era lo que yo habia dicho seba :P si una app es de 32, en un sistema de 64, guarda en el registro en ese Wow6432Node .... (yo le puse SysWow64 porq noj recordaba el nombre).
la solucion esta aca:
http://www.codeguru.com/forum/showthread.php?t=456380 (http://www.codeguru.com/forum/showthread.php?t=456380)
saludos