using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Microsoft.Win32; namespace registry { /// /// Interaction logic for MainWindow.xaml /// public partial class registryApp : Window { public registryApp() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { // RegistryKey r = Registry.LocalMachine; // nämä näkyvät kaikille koneen käyttäjille RegistryKey r = Registry.CurrentUser; // rekisteri(r, treeViewRegistry); } // listataan rekursiivisesti koko annetun avaimen sisältö private void rekisteri(RegistryKey r, ItemsControl p) { TreeViewItem newChild = new TreeViewItem(); // newChild.Header = r.Name; newChild.Header = r; p.Items.Add(newChild); foreach (string subkey in r.GetSubKeyNames()) { try { rekisteri(r.OpenSubKey(subkey), newChild); } catch { // kaikkiin avaimiin ei ole lukuoikeutta } } } private void treeViewRegistry_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs e) { TreeViewItem apu = (TreeViewItem)treeViewRegistry.SelectedItem; RegistryKey r = (RegistryKey)apu.Header; listBoxRegistry.Items.Clear(); foreach (string item in r.GetValueNames()) { listBoxRegistry.Items.Add(item + " = " + r.GetValue(item, "")); } } private void button1_Click(object sender, RoutedEventArgs e) { RegistryKey r = Registry.CurrentUser; // // tänne ei ole kirjoitusoikeutta koska ei ole administratorin oikeuksia // ohjelmien asetukset pitäisi tallentaa tänne // r = r.OpenSubKey("Software"); RegistryKey jyu = r.CreateSubKey("Jyu"); RegistryKey gko = jyu.CreateSubKey("GKO"); gko.SetValue("Luennoija", "Tommi Lahtonen"); gko.SetValue("OP", 6); gko.SetValue("URL", "http://appro.mit.jyu.fi/gko"); treeViewRegistry.Items.Clear(); r = Registry.CurrentUser; // rekisteri(r, treeViewRegistry); } private void buttonPoista_Click(object sender, RoutedEventArgs e) { RegistryKey r = Registry.CurrentUser; // try { r = r.OpenSubKey("Jyu"); r = r.OpenSubKey("GKO", true); r.DeleteValue("OP"); r.Close(); r = Registry.CurrentUser.OpenSubKey("Jyu", true); r.DeleteSubKeyTree("GKO"); r.Close(); Registry.CurrentUser.DeleteSubKeyTree("Jyu"); } catch (Exception err) { MessageBox.Show(err.Message); } treeViewRegistry.Items.Clear(); r = Registry.CurrentUser; // rekisteri(r, treeViewRegistry); } } }