我正在开发一个简单的应用程序来从注册表中删除用户配置文件条目,但我遇到了一个问题。
因此,首先,我通过以下代码获取 ProfileList 中的所有子项:
List<string> KeyList = new List<string>();
RegistryKey ProfileList = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\\Microsoft\Windows NT\\CurrentVersion\\ProfileList\\");
foreach (string ProfileKey in ProfileList.GetSubKeyNames())
{
KeyList.Add(ProfileKey);
}
从那里,我得到每个键的 ProfileImagePath 值并将它们添加到选中的列表框中:
KeyList.ForEach(delegate(string ProfileKey)
{
ProfileList = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\\Microsoft\Windows NT\\CurrentVersion\\ProfileList\\" + ProfileKey + "\\");
checkedListBox1.Items.Add(ProfileList.GetValue("ProfileImagePath").ToString());
});
然后,当用户单击删除按钮时,我希望应用程序删除已检查的用户配置文件。但是,我必须获取每个选中项的值(类似于 C:/Users/Name)并确定要删除哪些注册表项。我假设我可以在 foreach 循环中做到这一点,但我不太确定如何。这样做的最佳方法是什么?谢谢。