美文网首页
C#之程序自启动

C#之程序自启动

作者: 小羊爱学习 | 来源:发表于2024-05-30 13:38 被阅读0次

在Winform程序中一般有两种方式实现程序自启动

  • 修改计算机注册表的方式

  • 将软件的快捷方式创建到计算机的自动启动目录下

这里我们采用第一种方法:修改注册表的形式来实现这一功能

一.创建一个静态类

    /// <summary>
    /// 程序自启动类
    /// </summary>
    public static class AutoStart
    {
        public static void EnableAutoStart(string applicationPath)
        {
            string appFileName = Path.GetFileName(applicationPath); //WinFormLearnManager.exe
            using (RegistryKey rk = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true))
            {
                //rk?.SetValue("WinFormLearnManager", applicationPath);
                rk?.SetValue(appFileName, applicationPath);
            }
            //rk.Close(); 不用using的话需要手动close

        }

        public static void DisableAutoStart(string applicationPath)
        {
            string appFileName = Path.GetFileName(applicationPath); //WinFormLearnManager.exe
            using (RegistryKey rk = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true))
            {
                //rk?.DeleteValue("WinFormLearnManager", false);
                rk?.DeleteValue(appFileName, false);
            }
            //rk.Close(); 不用using的话需要手动close
        }
    }

二.使用

            string appPath = Application.ExecutablePath;
            // 添加自启动
            AutoStart.EnableAutoStart(appPath);
            // 删除自启动
            AutoStart.DisableAutoStart(appPath);

三.注意事项

如果你的程序自启动后有从程序的目录文件读取一些配置信息的话,是需要绝对路径才可以读取到。

            string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
            string fullPath = Path.Combine(path, "lidarconfig.obj");// 拼接配置文件的绝对路径

相关文章

  • c#设置程序开机自启动

    在网上找的代码都是直接设置的,放到 Form1_Load 中程序每次启动就注册感觉怪怪的就想办法如何在注册前先判断...

  • Unity 之如何写出强壮的代码

    【反射】 Unity C#基础之 反射反射,程序员的快乐 Unity C#基础之 特性,一个灵活的小工具 【多线程...

  • 码农周刊分类整理 -- C

    C# C# 程序设计(上) 开源一个社交网站模拟登录的库(C#) (@ziyunhx) 针对 Java 程序员的 ...

  • win10自启动管理

    虽然开机自启动程序会影响开机速度,不过将一些必用软件设置生开机自启动也是很爽的。 添加开机自启动 WIN键 + R...

  • 环境变量故障案列

    1.tomcat程序 开机自启动 2.STAR 原则后的故障: S:让tomcat 开机自启动,写入/etc/rc...

  • windows 自启动注册表项

    Run,RunEx和RunOnce 参考链接:全面揪出Windows系统中的自启动程序开机自启动的注册表键值有那些?

  • 让应用程序开机自启动

    定制类项目通常客户都会需要开机自启动程序的这个功能,那么要实现开机自启动应用程序,一般会有如下几种方式实现: sh...

  • 程序自启动

    class ProgramMonitor:"""判断程序是否已经挂掉"""def init(self):self....

  • 程序自启动

    相关链接 源码 参考网址 三种方法 第一种:开始菜单启动 原理: 将应用程序的可执行文件的快捷方式复制到系统或者用...

  • 树莓派3b+ 开机自启动+预约关机

    树莓派开机自启动 树莓派开机自启动python程序的方法有很多,这里介绍实验成功的方法——修改rc.local文件...

网友评论

      本文标题:C#之程序自启动

      本文链接:https://www.haomeiwen.com/subject/gpqrqjtx.html