Porque puede leer del registro LOCAL MACHINE y no CURREN USER?

17/02/2004 - 15:43 por Juan David González Piza | Informe spam
el proceso es el siguiente, funciona en para el LOCAL
MACHINE
string ClaveSerialOS
= "SOFTWARE\\Microsoft\\Windows\\CurrentVersion";
string ClaveProductId = "ProductId";
RegistryKey clave = Registry.LocalMachine.OpenSubKey
(ClaveSerialOS);
this.TextBox1.Text= clave.GetValue
(ClaveProductId, "").ToString();
pero para el CURRENT USER usandolo parecido NO FUNCIONA,
por ejemplo:
clave:Software\Microsoft\Active Setup\Installed
Components\{44BBA840-CC51-11CF-AAFA-00AA00B6015C}
Valor:Username

Preguntas similare

Leer las respuestas

#1 Pedro Luna Montalvo
17/02/2004 - 16:10 | Informe spam
Saludos David:

Disculpa por no haberte contestado antes.

Pues te cuento que le he dado vueltas y no entiendo porque no te funciona.
Te adjunto código para que lo pruebes:
string ClaveSerialOS = "Software\\Microsoft\\Active Setup\\Installed
Components\\{44BBA840-CC51-11CF-AAFA-00AA00B6015C}";

string ClaveProductId = "Username";

RegistryKey clave = Registry.CurrentUser.OpenSubKey(ClaveSerialOS);

Console.WriteLine(clave.GetValue(ClaveProductId, "").ToString());


Recuerda que el caracter \ dentro de una cadena debe ser puesto dos veces,
por ser un caracter que indica una secuencia de escape.

Ademas, debes usar la propiedad CurrentUser.

Yo probe este codigo y si me funciono.

Cuentame si te resulto!!

Saludos
Pedro



"Juan David González Piza" escribió en el
mensaje news:1112e01c3f564$7374b930$
el proceso es el siguiente, funciona en para el LOCAL
MACHINE
string ClaveSerialOS
= "SOFTWARE\\Microsoft\\Windows\\CurrentVersion";
string ClaveProductId = "ProductId";
RegistryKey clave = Registry.LocalMachine.OpenSubKey
(ClaveSerialOS);
this.TextBox1.Text= clave.GetValue
(ClaveProductId, "").ToString();
pero para el CURRENT USER usandolo parecido NO FUNCIONA,
por ejemplo:
clave:Software\Microsoft\Active Setup\Installed
Components\{44BBA840-CC51-11CF-AAFA-00AA00B6015C}
Valor:Username
Respuesta Responder a este mensaje
#2 Juan David Gonzalez Piza
17/02/2004 - 16:27 | Informe spam
la pregunta es como puedo cambiar los permisos del
registro desde el programa, pues por ejemplo compare
permisos de la ruta requerida del CURRENT USER y solo a
los grupos: Administradores, Restringidos y System
en cambio la ruta de LOCAL MACHINE, en la lista de
permisos están:Administradores, Creator Owner, System,
Usuarios y Usuarios Avanzados.

Saludos David:

Disculpa por no haberte contestado antes.

Pues te cuento que le he dado vueltas y no entiendo


porque no te funciona.
Te adjunto código para que lo pruebes:
string ClaveSerialOS = "Software\\Microsoft\\Active


Setup\\Installed
Components\\{44BBA840-CC51-11CF-AAFA-00AA00B6015C}";

string ClaveProductId = "Username";

RegistryKey clave = Registry.CurrentUser.OpenSubKey


(ClaveSerialOS);

Console.WriteLine(clave.GetValue


(ClaveProductId, "").ToString());


Recuerda que el caracter \ dentro de una cadena debe


ser puesto dos veces,
por ser un caracter que indica una secuencia de escape.

Ademas, debes usar la propiedad CurrentUser.

Yo probe este codigo y si me funciono.

Cuentame si te resulto!!

Saludos
Pedro



"Juan David González Piza"


escribió en el
mensaje news:1112e01c3f564$7374b930$
el proceso es el siguiente, funciona en para el LOCAL
MACHINE
string ClaveSerialOS
= "SOFTWARE\\Microsoft\\Windows\\CurrentVersion";
string ClaveProductId = "ProductId";
RegistryKey clave = Registry.LocalMachine.OpenSubKey
(ClaveSerialOS);
this.TextBox1.Text= clave.GetValue
(ClaveProductId, "").ToString();
pero para el CURRENT USER usandolo parecido NO




FUNCIONA,
por ejemplo:
clave:Software\Microsoft\Active Setup\Installed
Components\{44BBA840-CC51-11CF-AAFA-00AA00B6015C}
Valor:Username




.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida