注册表简介
何为注册表
注册表相当于Windows下的一个庞大的层次性数据库.
基本上有责系统所有的配置信息
注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统中起着核心作用。
以上是引用百科的话
注册表组成
注册表由
键(rootkey)(也叫主键或称“项”)子键(subkey)(子项)值项(value)构成。
一个键就是分支中的一个文件夹,而子键就是这个文件夹当中的子文件夹,子键同样它也是一个键。
一个值项则是一个键的当前定义,由名称、数据类型以及分配的值组成。
一个键可以有一个或多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为该键的默认值。
五大根键
HKEY_USERS
保存了存放在本地计算机口令列表中的用户标识和密码列表
HKEY_CURRENT_USER
该根键包含了本地工作站中存放的当前登录的用户信息
HKEY_CURRENT_CONFIG
该根键存放着当前用户桌面配置的数据
HKEY_CLASSES_ROOT
该根键根据windows操作系统中所安装的应用程序的扩展名,来指定文件类型。
HKEY_LOCAL_MACHINE
该根键存放本地计算机的硬件信息,(我们的自启动信息就在此)
实战篇
(上面做了个这样的简介,现在开始实战操作了)
原理很简单
把我们的键值信息写到下面的键里就好了
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run(这个键里就是)
1. 本软件自动启动: CString currentPath;GetModuleFileName(NULL,currentPath.GetBuffer(MAX_PATH),MAX_PATH); //上面获取当前全路径CRegKey reg; //定义注册表对象//还是atl好用reg.Open(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run");//成功返回ERROE_SUCCESSreg.Create(reg.m_hKey,L"TEST");//这里创建子健也就是一个文件夹,//m_hKey其实就是打开的父键的返回的handlereg.SetValue(currentPath,L"AUTORUN");(2)删除自动启动:CRegKey rk;LPCTSTR subKey="TEST";LPCTSTR KeyValue="*.exe";LPCTSTR lp="Software\\Microsoft\\Windows\\CurrentVersion\\Run\\TEST\\";if(rk.Open(HKEY_LOCAL_MACHINE,lp)==ERROR_SUCCESS)if(rk.DeleteValue(KeyValue)==ERROR_SUCCESS){//Do something}rk.Close();
如果觉得《修改注册表实现程序开机自启动》对你有帮助,请点赞、收藏,并留下你的观点哦!