zoukankan      html  css  js  c++  java
  • 通过注册表实现开机自启动

    前言:

      实现开机自启动的途径和方式有很多种,其中修改注册表方式应用最为广泛。注册表相当是操作系统的数据库,记录着系统中方方面面的数据,其中也不乏直接或间接导致开机自启动的数据。

    实现原理:

      windows提供了专门的开机自启动注册表。在每次开机完成后,它都会在这个注册表键下遍历键值,以获取键值中的程序路径,并创建进程启动程序。所以,只需要在这个注册表键下添加想要设置自启动程序的路径就可以了。其中常见的两个路径,分别是 HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun 与 HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun

      注意:要修改HKEY_LOCAL_MACHINE主键的注册表,这要求程序要有管理员权限。而修改HKEY_CURRENT_USER主键的注册表,只需要用户默认权限就可以实现

    实现代码:

    BOOL Reg_CurrentUser(char *lpszFileName, char *lpszValueName)
    {
        // 默认权限
        HKEY hKey;
        // 打开注册表键
        if (ERROR_SUCCESS != ::RegOpenKeyEx(HKEY_CURRENT_USER, "Software\Microsoft\ Windows\ CurrentVersion\Run", 0, KEY_WRITE, &hKey))
        {
            ShowError("RegOpenKeyEx");
            return FALSE;
        }
        // 修改注册表值,实现开机自启动
        if (ERROR_SUCCESS != ::RegSetValueEx(hKey, lpszValueName, 0, REG_SZ, (BYTE *)lpszFileName, (1 + ::lstrlen(lpszFileName))))
        {
            ::RegCloseKey(hKey);
            ShowError("RegSetValueEx");
            return FALSE;
        }
        // 关闭注册表键
        ::RegCloseKey(hKey);
    
        return TRUE;
    }
  • 相关阅读:
    C# 设计模式-桥接模式
    C# 设计模式-外观模式
    C# 设计模式-代理模式
    楼层导航奇葩问题解决
    楼层导航和回顶部
    回顾
    禁止右击选中
    安装客服在线系统
    csdn 分享私藏的18个黑科技网站,想找什么软件就找什么软件!!!
    eyoucms 模板
  • 原文地址:https://www.cnblogs.com/ndyxb/p/12897911.html
Copyright © 2011-2022 走看看