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
 

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

Preguntas similares