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);
            }
        }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容