/// <summary> /// Event handler. Called by propertiesToolStripMenuItem for click events. /// </summary> /// /// <param name="sender"> . </param> /// <param name="e"> Event information. </param> private void propertiesToolStripMenuItem_Click(object sender, EventArgs e) { if (listView1.SelectedItems != null && listView1.SelectedItems.Count == 1 && listView1.SelectedItems[0].Tag != null) { // Debug.WriteLine("[Properties]"); HwEntry he = (HwEntry)listView1.SelectedItems[0].Tag; PropertyForm pf = new PropertyForm(); pf.textBox1.Clear(); foreach (KeyValuePair <String, String> kvp in he.Properties) { String descr = EnumExtensions.GetDescription <SPDRP>((SPDRP)Enum.Parse(typeof(SPDRP), kvp.Key)); if (!String.IsNullOrEmpty(descr)) { pf.textBox1.Text += String.Format("{0,32} = {1}\r\n", descr, kvp.Value); } pf.textBox1.Select(0, 0); } pf.ShowDialog(); } }
/// <summary> /// Event handler. Called by contextMenuStrip1 for opening events. /// </summary> /// /// <param name="sender"> . </param> /// <param name="e"> Cancel event information. </param> private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) { if (listView1.SelectedItems.Count != 0) { using (IniFile ini = new IniFile(Buster.IniFileName)) { AddDeviceMnu.Enabled = true; RemoveDeviceMnu.Enabled = false; String Device = listView1.SelectedItems[0].Text; foreach (DictionaryEntry de in ini.ReadSection(Buster.DeviceKey)) { if (de.Value.ToString() == Device) { AddDeviceMnu.Enabled = false; RemoveDeviceMnu.Enabled = true; break; } } AddClassMnu.Enabled = true; RemoveClassMnu.Enabled = false; foreach (DictionaryEntry de in ini.ReadSection(Buster.ClassKey)) { String Class = listView1.SelectedItems[0].Group.ToString(); if (de.Value.ToString() == Class) { AddClassMnu.Enabled = false; RemoveClassMnu.Enabled = true; break; } } } HwEntry he = (HwEntry)listView1.SelectedItems[0].Tag; deviceToolStripMenuItem.Enabled = he.Properties.ContainsKey(SPDRP.DRIVER.ToString()) && !string.IsNullOrEmpty(he.Properties[SPDRP.DRIVER.ToString()]); serviceToolStripMenuItem.Enabled = he.Properties.ContainsKey(SPDRP.SERVICE.ToString()) && !string.IsNullOrEmpty(he.Properties[SPDRP.SERVICE.ToString()]); removeToolStripMenuItem.DropDownItems.Clear(); foreach (Wildcard wildcard in Buster.Wildcards) { removeToolStripMenuItem.DropDownItems.Add(wildcard.Pattern.Replace("&", "&&"), null, RemoveWildcardToolStripMenuItem_Click).Tag = wildcard.Pattern; } removeToolStripMenuItem.Enabled = (removeToolStripMenuItem.DropDownItems.Count != 0); } }
/// <summary> /// Event handler. Called by deviceToolStripMenuItem for click events. /// </summary> /// /// <param name="sender"> . </param> /// <param name="e"> Event information. </param> private void deviceToolStripMenuItem_Click(object sender, EventArgs e) { if (listView1.SelectedItems != null && listView1.SelectedItems.Count == 1 && listView1.SelectedItems[0].Tag != null) { HwEntry he = (HwEntry)listView1.SelectedItems[0].Tag; String key = @"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\" + he.Properties[SPDRP.DRIVER.ToString()]; RegistryKey rKey = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\Regedit", true); rKey.SetValue("LastKey", key); Process.Start("regedit.exe"); } }