レジストリからユーザープロファイルエントリを削除する簡単なアプリケーションに取り組んでいますが、問題が発生しました。
したがって、最初に、次のコードを介して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ループで実行できると思いますが、その方法はよくわかりません。これを回避するための最良の方法は何ですか?ありがとう。