zoukankan      html  css  js  c++  java
  • C#——设置开机启动

    将exe应用程序设置为开机启动,有多种方法,我们主要通过注册表设置开机启动选项。

    using Microsoft.Win32;
    using System.Windows.Forms;
    static void Main(string[] args)
    {
        string exepath = Application.ExecutablePath;
        Console.WriteLine(exepath);
        RegistryKey RKey = Registry.LocalMachine.CreateSubKey(@"SOFTWAREMicrosoftWindowsCurrentVersionRun");//添加到所有用户的注册表启动项
        RKey.SetValue("Myself_exe", exepath);
        RKey.Close();
        Console.ReadKey();
    }
    static void Main(string[] args)
    {
        int sleepsec = args.Length > 0 ? Convert.ToInt32(args[0]) : 0;
        Console.WriteLine(sleepsec);
        string exepath = Application.ExecutablePath;
        Console.WriteLine(exepath);
        RegistryKey RKey = Registry.CurrentUser.OpenSubKey(@"SOFTWAREMicrosoftWindowsCurrentVersionRun", true);//添加当前登录用户的注册表启动项
        RKey.SetValue("self_exe", string.Format("{0} 30", exepath), RegistryValueKind.String);
        RKey.Close();
        Console.ReadKey();
    }

    添加所有用户注册的地址:

    计算机HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionRun

    添加当前用户注册的地址:

    计算机HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun

    RKey.DeleteValue(exepath);//删除注册表
    RKey.Close(); 

    注释:通过添加所有用户的注册表启动项(LocalMachine)会有权限问题,下次开机的时候会报异常,解决办法是将exe可执行文件更改为以管理员模式启动此程序。

    优点:通过注册表传参的方式,在开机启动的时候会带入参数的数值,但是只要开过机,程序的二次启动就不会带入参数。所以可以利用这个特性,我们可以让程序做个休眠,因为开机启动的程序过多,会对电脑造成过大负荷。

    参考:C#设置开机启动项、取消开机启动项C# 将程序添加开机启动的三种方式

  • 相关阅读:
    SQL关键字的执行顺序
    StructuredStreaming基础操作和窗口操作
    StructuredStreaming简单的例子(NewAPI)
    StructuredStreaming(New)
    StructuredStreaming编程模型
    SparkStreaming简单例子(oldAPI)
    SparkStreaming架构
    Storm与SparkStreaming对比
    SparkStreaming-DStream(Discretized Stream)
    史上最全的java随机数生成算法分享(转)
  • 原文地址:https://www.cnblogs.com/wuqiuxue/p/7680430.html
Copyright © 2011-2022 走看看