Hey, làm thế nào có thể lặp qua registry bằng cách sử dụng C#? Tôi muốn tạo một cấu trúc để biểu diễn các thuộc tính của mỗi khóa.C# Làm thế nào để tôi lặp qua registry?
Trả lời
Kiểm tra chức năng này từ MSDN: http://msdn.microsoft.com/en-us/library/microsoft.win32.registrykey.getsubkeynames.aspx?PHPSESSID=ca9tbhkv7klmem4g3b2ru2q4d4
Chức năng này sẽ lấy tên của tất cả các subkeys và bạn có thể lặp qua chúng và làm bất cứ điều gì bạn muốn.
Bạn có thể sử dụng Microsoft.Win32.RegistryKey
và GetSubKeyNames
phương pháp như mô tả ở đây:
http://msdn.microsoft.com/en-us/library/microsoft.win32.registrykey_members%28v=VS.100%29.aspx
Hãy nhận biết rằng mặc dù điều này có thể rất chậm nếu bạn đang lặp lại thông qua một phần lớn của registry.
Tôi nghĩ những gì bạn cần là GetSubKeyNames()
như trong ví dụ này.
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);
(LƯU Ý: Đây là bản gốc được sao chép từ hướng dẫn http://www.csharphelp.com/2007/01/registry-ins-and-outs-using-c/, nhưng bây giờ trang web có vẻ không hoạt động).
Cảm ơn Chris! Tôi đã được chỉ về để viết chức năng arecursive nhưng im không quen thuộc với các phương pháp! Cảm ơn bạn – 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. Làm thế nào để lặp qua một chuỗi trong C?
- 2. Làm thế nào để lặp qua SAFEARRAY **
- 3. làm thế nào để lặp qua nsfetchedresultcontroller
- 4. Làm thế nào tôi có thể lặp qua ManyToManyField?
- 5. Làm thế nào tôi nên lặp qua một lớp enum trong C++ 11?
- 6. Tôi làm cách nào để lặp qua các thuộc tính nội bộ trong C#
- 7. Làm cách nào để lặp qua PropertyCollection
- 8. Làm thế nào để lặp qua XML trong Powershell?
- 9. Làm thế nào để lặp qua một fd_set
- 10. Làm thế nào để lặp qua google multimap
- 11. Làm thế nào để lặp qua mảng JSON?
- 12. Làm thế nào để lặp qua mảng theo lô?
- 13. Làm thế nào để lặp qua một hash trong mustache.js
- 14. Làm thế nào để lặp qua một PriorityQueue?
- 15. Làm thế nào để tôi song song vòng lặp for thông qua danh sách C++ std :: using OpenMP?
- 16. C# - Làm thế nào để lặp qua các lớp lĩnh vực và thiết lập các thuộc
- 17. Làm thế nào để tôi lặp qua một enum trong Java?
- 18. Làm thế nào để tôi lặp qua các trường của một đối tượng?
- 19. Làm thế nào để bạn lặp qua một mảng các mảng ký tự trong c?
- 20. Làm thế nào để lặp qua lớp luabind (trong lua hoặc trong C++)?
- 21. Làm thế nào có thể lặp qua perl liên tục
- 22. làm thế nào để bỏ qua một vài lần lặp trong một vòng lặp trong Ruby?
- 23. Trong Perl, làm thế nào tôi có thể lặp qua nhiều phần tử của một mảng?
- 24. Làm thế nào để đọc một giá trị từ Windows registry
- 25. Làm thế nào để lặp qua các biến phạm vi $ góc với vòng lặp
- 26. Làm thế nào để lặp qua một mảng 2D với một vòng lặp đơn?
- 27. Trong C++, làm thế nào để tôi nhận được chỉ mục int của một trình lặp?
- 28. Làm thế nào để cập nhật C# hashtable trong một vòng lặp?
- 29. Làm thế nào tôi có thể lặp qua chức năng Array.prototype
- 30. Làm thế nào tôi có thể lặp qua tất cả các tuyến đường?
này sẽ phá vỡ bất kỳ tính di động với Mono trên các hệ thống khác ngoài Windows. Chỉ là một cảnh báo. – alternative