c#设置程序开机自启动

在网上找的代码都是直接设置的,放到 Form1_Load 中程序每次启动就注册感觉怪怪的
就想办法如何在注册前先判断程序有没有注册过,通过F12找到了GetValueNames方法。

        private void autorun()
        {
            //获取程序路径
            string execPath = Application.ExecutablePath;
            bool isexc = false;
            try
            {

                RegistryKey RKey = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
                //设置自启的程序叫获取目录下的程序名字
                string[] ar = RKey.GetValueNames();
                foreach (string st in ar)
                {
                    if(st.Equals("test"))
                    {
                        isexc = true;
                    }
                }
                if (!isexc)
                {
                    //设置自启的程序叫test
                    RKey.SetValue("test", execPath);
                }


            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容