zoukankan      html  css  js  c++  java
  • 开机启动项管理

    实现效果:

      

    知识运用:

      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();                   //调用刷新
                }
            }
    

      

  • 相关阅读:
    1304. 和为零的N个唯一整数
    557. 反转字符串中的单词 III
    集群Eureka构建步骤
    单机Eureka构建步骤——08端口服务和8001端口服务注册进Eureka
    服务注册中心——Eureka基础知识
    存活的cloud
    系统中重复部分打包成一个jar包供其他工程使用(工程重构)
    cloud-consumer-order80微服务消费者订单Module模块
    cloud-provider-payment8001微服务提供者支付Module模块
    学习SpringCloud——项目工程搭建
  • 原文地址:https://www.cnblogs.com/feiyucha/p/10314775.html
Copyright © 2011-2022 走看看