Oye, ¿cómo se puede recorrer el registro usando C#? Deseo crear una estructura para representar atributos de cada clave.C# ¿Cómo puedo iterar a través del registro?
Respuesta
Comprobar a cabo esta función de MSDN: http://msdn.microsoft.com/en-us/library/microsoft.win32.registrykey.getsubkeynames.aspx?PHPSESSID=ca9tbhkv7klmem4g3b2ru2q4d4
Esta función recuperará el nombre de todas las subclaves y se puede recorrer a través de ellos y hacer lo que desea.
Puede utilizar Microsoft.Win32.RegistryKey
y el método GetSubKeyNames
como se describe aquí:
http://msdn.microsoft.com/en-us/library/microsoft.win32.registrykey_members%28v=VS.100%29.aspx
Ten en cuenta que esto podría ser muy lento si está iteración a través de una gran parte del registro.
Creo que lo que necesita es GetSubKeyNames()
como en este ejemplo.
private void GetSubKeys(RegistryKey SubKey)
{
foreach(string sub in SubKey.GetSubKeyNames())
{
MessageBox.Show(sub);
RegistryKey local = Registry.Users;
local = SubKey.OpenSubKey(sub,true);
GetSubKeys(local); // By recalling itself it makes sure it get all the subkey names
}
}
//This is how we call the recursive function GetSubKeys
RegistryKey OurKey = Registry.Users;
OurKey = OurKey.OpenSubKey(@".DEFAULT\test",true);
GetSubKeys(OurKey);
(NOTA: Este era original copiado de un tutorial http://www.csharphelp.com/2007/01/registry-ins-and-outs-using-c/, pero el sitio parece ser ahora hacia abajo).
Gracias Chris! ¡Estaba a punto de escribir la función recursiva pero no estoy familiarizado con los métodos! Gracias – Tom
private void GetSubKeys(RegistryKey SubKey)
{
foreach(string sub in SubKey.GetSubKeyNames())
{
MessageBox.Show(sub);
RegistryKey local = Registry.Users;
local = SubKey.OpenSubKey(sub,true);
GetSubKeys(local); // By recalling itselfit makes sure it get all the subkey names
}
}
//This is how we call the recursive function GetSubKeys
RegistryKey OurKey = Registry.Users;
OurKey = OurKey.OpenSubKey(@".DEFAULT\test",true);
GetSubKeys(OurKey);
http://www.csharphelp.com/2007/01/registry-ins-and-outs-using-c/
- 1. iterar a través de las entradas del registro
- 2. Iterar a través de una matriz C
- 3. Iterar a través del nivel N Niños
- 4. ¿Cómo puedo iterar a través de una cadena en Python?
- 5. Cómo iterar a través de SAFEARRAY **
- 6. cómo iterar a través de las propiedades internas en C#
- 7. ¿Cómo puedo iterar a través de elementos DOM en PHP?
- 8. Cómo iterar a través de una cadena
- 9. Cómo iterar a través de una DataTable
- 10. Cómo iterar a través de un fd_set
- 11. Iterar a través de DataSet
- 12. Iterar a través de los parámetros del método
- 13. ¿Cómo puedo obtener el nombre del archivo de registro a través del código?
- 14. Iterar a través de NSData bytes
- 15. Iterar a través de una tabla Lua de C++?
- 16. Iterar a través de una matriz de 2 dimensiones C#
- 17. Perl iterar a través de cada coincidencia
- 18. ¿Cómo iterar a través de Diccionario y cambiar valores?
- 19. iterar a través de la tabla Lua
- 20. Iterar a través de un diccionario VB6
- 21. ¿Cómo puedo iterar a través de elementos de QListWidget y trabajar con cada elemento?
- 22. ¿Cómo puedo iterar a través de una cadena y también conocer el índice (posición actual)?
- 23. ¿Cómo iterar a través de hash (de Hashes) en Perl?
- 24. Iterar a través de 2 listas
- 25. ¿Es posible iterar a través de JSONArray?
- 26. Iterar a través fechas en SQL
- 27. Iterar a través de la cola estándar
- 28. Cómo iterar a través de los elementos de una vista
- 29. Iterar a través de las filas de Sqlite-query
- 30. Cómo iterar a través de LinkedHashMap con listas como valores
Esto romperá cualquier portabilidad con Mono en otros sistemas además de Windows. Sólo una advertencia. – alternative