開機啟動項管理
阿新 • • 發佈:2019-01-24
software oca true 技術分享 註冊表 string 數組 sha istview
實現效果:
知識運用:
RegistryKey類的GetValueNames
public string[] GetValueName () //檢索包含與此項關聯的所有值名稱的字符串數組
GetValue方法
public Object GetValue (string name) //檢索與指定名稱關聯的值
DeleteValue方法
public void DeleteValue (string name) //從註冊表中刪除指定值
實現代碼:
string[] Macinfo; string[] Curinfo; private void getMacinfo() { RegistryKey rk; RegistryKey rk2; string[] arr=new string[2]; rk = Registry.LocalMachine; rk2 = rk.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",true); Macinfo = rk2.GetValueNames(); foreach (string s in Macinfo) { arr[0] = s; arr[1]=rk2.GetValue(s).ToString(); ListViewItem lvi = new ListViewItem(arr); listView1.Items.Add(lvi); } } private void getCurinfo() { RegistryKey rk; RegistryKey rk2; string[] arr = new string[2]; rk = Registry.CurrentUser; rk2 = rk.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); Curinfo = rk2.GetValueNames(); foreach (string s in Curinfo) { arr[0] = s; arr[1] = rk2.GetValue(s).ToString(); ListViewItem lvi = new ListViewItem(arr); listView1.Items.Add(lvi); } } private bool IsMacinfo(string s) { foreach (string str in Macinfo) { if (s == str) return true; } return false; } private bool IsCurinfo(string s) { foreach (string str in Curinfo) { if (s == str) return true; } return false; } private void Form1_Load(object sender, EventArgs e) { getMacinfo(); getCurinfo(); } private void button1_Click(object sender, EventArgs e) { if (listView1.CheckedItems.Count > 0) //如果有選中 { foreach (ListViewItem i in listView1.CheckedItems) { if (IsMacinfo(i.Text)) //判斷存於 { RegistryKey rk; RegistryKey rk2; rk = Registry.LocalMachine; rk2 = rk.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); rk2.DeleteValue(i.Text); } if(IsCurinfo(i.Text)) { RegistryKey rk; RegistryKey rk2; rk = Registry.CurrentUser; rk2 = rk.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); rk2.DeleteValue(i.Text); //執行刪除 } } listView1.Items.Clear(); //清空ListView控件 getCurinfo(); //調用刷新 getMacinfo(); //調用刷新 } }
開機啟動項管理