【c#】开机自启动

【c#】开机自启动【c#】开机自启动

大家好,又见面了,我是你们的朋友全栈君。

   做的项目上线了,又激动又紧张,但是之前都是在理想情况下开发的,没想到还有开机自启这个小功能,所以有完善了一下。

#region 将程序添加到启动项
        private static RegistryKey HKCU = Registry.CurrentUser;
        private static string name = "DBAnalyzer";
        private static string path = Application.ExecutablePath;
        /// <summary>
        /// 注册表括操作将程序添加到启动项
        /// </summary>
        public static void SetRegistryKey(bool Started)
        {
            try
            {
                RegistryKey Run = HKCU.CreateSubKey(@"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\");
                if (Started == true)
                {
                    try
                    {
                        Run.SetValue(name, path);
                        Run.Close();
                        HKCU.Close();
                        //this.SaveLog("注册表修改成功");
                        LogHelper.Info("注册表修改成功");
                    }
                    catch (Exception ex)
                    {
                        //this.SaveLog("注册表修改错误(开机自启未实现)!错误描述为:" + ex.Message.ToString());
                        LogHelper.Info("注册表修改错误(开机自启未实现)!错误描述为:" + ex.Message.ToString());
                    }
                }
                else
                {
                    if (Run.GetValue(name) != null)
                    {
                        Run.DeleteValue(name);
                        Run.Close();
                        HKCU.Close();
                    }
                    else
                        return;
                }
            }
            catch (Exception ex)
            {
                //this.SaveLog("将程序添加到启动项错误!错误描述为:" + ex.Message.ToString());
                LogHelper.Info("将程序添加到启动项错误!错误描述为:" + ex.Message.ToString());
            }
        }

        /// <summary>
        /// 获取是否开机启动
        /// </summary>
        /// <returns></returns>
        public static bool IsRegeditExit()
        {
            try
            {
                RegistryKey software = HKCU.OpenSubKey("SOFTWARE", true);
                RegistryKey aimdir = software.OpenSubKey(@"Microsoft\Windows\CurrentVersion\Run\", true);
                object runObj = aimdir.GetValue(name);
                if (runObj == null || !path.Equals(runObj.ToString()))
                    return false;
                else
                    return true;
            }
            catch (Exception ex)
            {
                //this.SaveLog("获取是否开机启动错误!错误描述为:" + ex.Message.ToString());
                LogHelper.Info("获取是否开机启动错误!错误描述为:" + ex.Message.ToString());
            }
            return false;
        }
        #endregion

客户端调用:

if (!IsRegeditExit())
{
    //添加开机启动
    SetRegistryKey(true);
}


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105676.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm如何统一改变量名_pycharm批量修改变量名

    pycharm如何统一改变量名_pycharm批量修改变量名在使用文字工具写小说的时候,如果你想改变主人公的姓名,可以通过快捷方式一键全改,而不用逐个更改。那么在用pycharm编辑代码的时候,该如何将代码中的变量名称进行一键更改呢?按快捷键Ctrl+r,弹出以下页面,在这个页面中我标出了两个红框。左边红框中有两个输入栏,上面的是你的原变量名,下面是你要改为的新变量名;将原变量名和新变量名输入之后,去右边的边框中选择局部替换还是全部替换即可。…

    2022年8月28日
    5
  • 在HTML中的下拉框中怎样实现超连接?

    在HTML中的下拉框中怎样实现超连接?

    2021年10月20日
    58
  • 计算机vb语言程序设计_vb语言程序设计基础

    计算机vb语言程序设计_vb语言程序设计基础VisualBasic程序设计教程:计算机类语音编辑锁定讨论上传视频《VisualBasic程序设计教程:计算机类》是中国科学技术出版社出版的图书,作者是王东、刘福来。中文名VisualBasic程序设计教程:计算机类出版社中国科学技术出版社定价39.20作者王东刘福来ISBN9787504646798VisualBasic程序设计教程:计算机类内容简介编辑语音《全国高等…

    2022年10月7日
    3
  • css3选择器(一)

    css3选择器(一)直接开始正文。一、css3同级元素通用选择器【update20161228】选择器:E~F匹配任何在E元素之后的同级F元素Note:E~F选择器选中的是E元素后面同级元素中的全部F元素。例:

    2022年7月4日
    34
  • J2EE的13个规范之(二) JDBC 及其使用「建议收藏」

    J2EE的13个规范之(二) JDBC 及其使用

    2022年1月26日
    37
  • db2 timestampdiff

    db2 timestampdiff要将字符串转换成日期或时间值,可以使用:TIMESTAMP(‘2002-10-20-12.00.00.000000’)TIMESTAMP(‘2002-10-2012:00:00’)DATE(‘2002-10-20′)DATE(’10/20/2002′)TIME(’12:00:00’)TIME(‘12.00.00’)TIMESTAMP()、DATE(…

    2022年6月12日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号