嘿,如何可以通過使用C#的註冊表迭代?我希望創建一個表示每個鍵的屬性的結構。C#如何迭代註冊表?
8
A
回答
0
這個函數會檢索所有子項的名稱,您可以遍歷它們,做任何你想。
0
您可以使用Microsoft.Win32.RegistryKey
和GetSubKeyNames
方法如下所述:
http://msdn.microsoft.com/en-us/library/microsoft.win32.registrykey_members%28v=VS.100%29.aspx
注意的是,如果你是通過註冊表的很大一部分迭代,這可能會很慢。
9
我覺得你需要的是GetSubKeyNames()
就像這個例子。
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);
(注:這是從原來的教程http://www.csharphelp.com/2007/01/registry-ins-and-outs-using-c/複製,但該網站現在似乎已關閉)。
+0
謝謝克里斯!我正要編寫遞歸函數,但我不熟悉這些方法! 謝謝 – Tom 2010-05-26 19:23:10
3
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. 如何通過C#中的代碼編輯Windows註冊表值(註冊表)?
- 2. 迭代未註冊的加載項(.xla)
- 3. 如何在C中導出註冊表#
- 4. 如何打開註冊表和C++
- 5. 如何控制與C#或註冊表
- 6. 如何監視註冊表訪問? [C#]
- 7. C/C + +註冊表幫助
- 8. 如何從C#中爲代理訪問註冊表?
- 9. C#如何註冊EXE?
- 10. for循環通過註冊表配置單元迭代
- 11. Powershell解析/迭代通過並結合兩個註冊表項
- 12. cython - 如何迭代C++列表
- 13. C++添加註冊表項
- 14. C++ Windows註冊表編輯
- 15. 註冊表getValue與C#
- 16. C#註冊表問題
- 17. C#註冊表導入
- 18. C#註冊表設置
- 19. 尋找C#註冊表類
- 20. C++搜索Windows註冊表
- 21. C++添加到註冊表
- 22. 如何註冊表的CallableStatement
- 23. 如何從註冊表
- 24. 如何使用註冊表?
- 25. 如何從命令行更改註冊表註冊表?
- 26. 如何找到在C++註冊表中註冊的DLL的絕對路徑?
- 27. 如何檢查tlb文件是否使用C++在註冊表中註冊?
- 28. 如何在C#代碼中引用域表的數據庫註冊表?
- 29. 如何在drupal 7中註冊註冊表單?
- 30. 如何使用RMI註冊表註冊遠程對象?
這將打破使用Mono任何便攜性上的其他系統除了Windows之外。只是一個警告。 – alternative 2010-05-26 19:15:42