Winform设置程序开机启动

1,312次阅读
没有评论

在编写Winform应用程序时,经常要用到需要自启动的情况,所以收集了一段可以用于自启动的方法。

    /// <summary> 
    /// 开机启动项 
    /// </summary> 
    /// <param name="Started">是否启动</param> 
    /// <param name="name">启动值的名称</param> 
    /// <param name="path">启动程序的路径,推荐Application.ExecutablePath</param> 
    private static void StartWithSystem(bool Started, string name, string path)
    {
        try
        {
            RegistryKey HKLM = Registry.LocalMachine;
            RegistryKey Run = HKLM.CreateSubKey(@"SOFTWAREMicrosoftWindowsCurrentVersionRun");
            if (Started == true)
            {
                try
                {
                    Run.SetValue(name, path);
                    HKLM.Close();
                }
                catch (Exception Err)
                {
                    MessageBox.Show(Err.Message.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                try
                {
                    Run.DeleteValue(name);
                    HKLM.Close();
                }
                catch (Exception)
                {
                    // 
                }
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show("错误:" + ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

于此同时,在设置自启动后,常常需要读取配置文件,之前使用
System.Environment.CurrentDirectory 踩了一个坑,自启动后无法获取配置文件,但是用下面的方法获取配置文件可以避免自启动后找不到程序目录下面的配置文件。

AppDomain.CurrentDomain.BaseDirectory

afirefish
版权声明:本站原创文章,由afirefish2018-09-08发表,共计900字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
载入中...