zoukankan      html  css  js  c++  java
  • C#实现软件开机自启动原理与代码

    1、软件自启动原理

        软件自启动的原理要从Windows的注册表聊起,在Windows操作系统下,主要有2个文件夹和8个注册表键项控制程序的自启动,这部分的详细介绍可以参看博客http://www.cnblogs.com/fukajg/archive/2012/08/10/2631250.html。本程序通过“Run”键值实现,Run键值是自启动程序最常见的地方。它的位置在[HKEY_CURRENT_USERSoftvvareMicrosoftWindowsCurrentVersionRun]和[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows CurrentVersionRun]。其中[HKEY_CURRENT_USER]根键下的“Run”键值紧接着[HKEY_LOCAL_MACHINE]下的“Run”键值运行,但两个键值都在“启动”文件夹之前加载。  

    2、C#相关类和方法介绍

        Application.ExecutablePath 属性可以获取启动应用程序的可执行文件的路径,包括可执行文件的名称;Registry.LocalMachine 字段包含本地计算机的配置数据,该字段读取 Windows 注册表基项 HKEY_LOCAL_MACHINE;RegistryKey.CreateSubKey 方法创建一个新子项或打开一个现有子项以进行写访问;RegistryKey.SetValue设置指定的名称/值对;RegistryKey.DeleteValue 方法 (String, Boolean)是从此项中删除指定的值。

        在3编程实践中,对checkbox控件的Checkedchanged事件进行设置,在设置开机自启动中,启动软件JK信息写入“Run”键值;取消开机自启动中,删除软件JK信息“Run”键值中的值。

    3、C#编程实现

            private void checkBox1_CheckedChanged(object sender, EventArgs e)
            {
                if (checkBox1.Checked) //设置开机自启动  
                {
                    MessageBox.Show ("设置开机自启动,需要修改注册表","提示");  
                    string path = Application.ExecutablePath;
                    RegistryKey rk = Registry.LocalMachine;
                    RegistryKey rk2 = rk.CreateSubKey(@"SoftwareMicrosoftWindowsCurrentVersionRun");
                    rk2.SetValue("Jc", path);  //注意,Jc为自启动软件的软件名
                    rk2.Close();
                    rk.Close();
                }
                else //取消开机自启动  
                {
                    MessageBox.Show ("取消开机自启动,需要修改注册表","提示");  
                    string path = Application.ExecutablePath;
                    RegistryKey rk = Registry.LocalMachine;
                    RegistryKey rk2 = rk.CreateSubKey(@"SoftwareMicrosoftWindowsCurrentVersionRun");
                    rk2.DeleteValue("Jc", false);
                    rk2.Close();
                    rk.Close();
                }  
            }
  • 相关阅读:
    如何在iPhone 显示一个 星级评分
    Swift调用Objective-C
    Swift中的注释以及表达式
    Swift常量和变量以及命名规范
    Swift标识符和关键字
    使用Playground编写第一个Swift程序
    Cocos2d-x实例:设置背景音乐与音效-设置场景实现
    Cocos2d-x实例:设置背景音乐与音效-HelloWorld场景实现
    Cocos2d-x实例:设置背景音乐与音效- AppDelegate实现
    Cocos2d-x中背景音乐播放暂停与继续
  • 原文地址:https://www.cnblogs.com/DHUtoBUAA/p/5397687.html
Copyright © 2011-2022 走看看