首页 > 系统相关 >windows注册表

windows注册表

时间:2023-10-12 20:55:42浏览次数:33  
标签:配置 操作系统 windows HKEY 注册表 信息 hKey

进入注册表:win + r 输入 regedit

  注册表是Windows操作系统用于存储和管理配置信息的一个关键部分。它是一个层次化的数据库,用于存储操作系统、硬件、应用程序和用户设置。以下是注册表的主要用途:

  1. 配置信息存储:注册表包含操作系统的配置信息,例如启动项、系统服务、硬件配置等。这些信息用于启动和管理操作系统。
  2. 应用程序设置:大多数Windows应用程序使用注册表存储其配置和设置信息,例如界面首选项、许可证密钥、文件关联等。
  3. 设备驱动程序设置:硬件设备驱动程序通常使用注册表来存储设备配置和参数。这些设置允许操作系统与硬件设备进行通信。
  4. 用户配置:每个用户都有其自己的注册表配置文件,用于存储用户首选项、桌面设置、登录信息等。
  5. 系统状态和性能信息:性能监控工具可以从注册表中获取关于系统性能、资源使用和错误日志的信息。
  6. 文件关联:注册表用于管理文件关联,它确定特定文件类型应由哪个应用程序处理。
  7. 快捷方式和上下文菜单:注册表中包含了快捷方式和上下文菜单的配置信息,这影响了用户如何访问和交互应用程序。
  8. 系统安全:注册表中存储了有关安全策略、用户权限和密码策略的信息。这些信息对系统的安全性起着重要作用。

  总之,Windows注册表是Windows操作系统的核心配置存储,它允许用户和应用程序配置和自定义操作系统的行为,以及管理硬件和软件的设置。

  需要特别注意的是,不正确的更改注册表项或删除注册表项可能导致操作系统不稳定,甚至无法启动。因此,在编辑或修改注册表时要非常小心,并最好在备份操作系统之前进行操作。

HKEY_CLASSES_ROOT:保存了所有应用程序运行时必需的信息。

HKEY_CURRENT_USER:保存了本地计算机中存放的当前登录的用户信息,包括登录用户名和暂存的密码。

HKEY_LOCAL_MACHINE:保存了注册表里所有与这台计算机有关的配置信息,只是一个公共配置信息单元。

HKEY_USERS:保存了默认用户设置和登录用户的信息。

HKEY_CURRENT_CONFIG:存放本地计算机在系统启动时所用的硬件配置文件信息。

C++ 操作注册表

读取注册表中的值

#include <iostream>
#include <windows.h>

int main() {
    HKEY hKey;
    long regOpenResult = RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\YourAppName", 0, KEY_READ, &hKey);
    if (regOpenResult == ERROR_SUCCESS) {
        DWORD type;
        DWORD dataSize;
        char buffer[256];  // 根据你的数据类型选择合适的缓冲区大小
        regOpenResult = RegQueryValueEx(hKey, "SomeValueName", NULL, &type, (LPBYTE)buffer, &dataSize);
        if (regOpenResult == ERROR_SUCCESS) {
            if (type == REG_SZ) {  // 如果值是字符串
                std::cout << "Registry value: " << buffer << std::endl;
            }
        }
        RegCloseKey(hKey);
    }
    return 0;
}

向注册表中写一个值

#include <iostream>
#include <windows.h>

int main() {
    HKEY hKey;
    long regCreateResult = RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\YourAppName", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey);
    if (regCreateResult == ERROR_SUCCESS) {
        const char* valueToWrite = "SomeValueData";
        regCreateResult = RegSetValueEx(hKey, "SomeValueName", 0, REG_SZ, (BYTE*)valueToWrite, strlen(valueToWrite));
        if (regCreateResult == ERROR_SUCCESS) {
            std::cout << "Registry value written successfully." << std::endl;
        }
        RegCloseKey(hKey);
    }
    return 0;
}

标签:配置,操作系统,windows,HKEY,注册表,信息,hKey
From: https://www.cnblogs.com/hhddd-1024/p/17760521.html

相关文章

  • 还有理由不升吗?Windows 12确认 2024年见:设计更高级
    对于那些想要升级Windows12的用户来说,它已经在来的路上了。Intel已经确定,Windows12将于2024年进行“更新”,新的系统将会有更大的突破,比如设计更高级等等。消息人士透露,Windows12的“以网络为中心”或“网络优先”变体主要围绕云和网络技术构建,例如PWA和Edge。此外,新系统还有......
  • Windows怎么查看英伟达显卡显存消耗
    参考:https://zhidao.baidu.com/question/507196547206068124.html使用命令nvidia-smi......
  • AWVS15.2 Crack Windows&& Linux
    Windows安装过程https://www.ddosi.org/awvs-15-2/Linux&&Kali安装过程https://fahai.org/jszt/18.htmlQ:好像本机访问不了,但是能ping通......
  • UOS&windows远程协助:使用xrdp实现远程访问和远程控制
    1.xrdp与vnc的区别在很多场景下,我们需要在局域网内,远程连接到Linux服务器或桌面系统,传统的连接方式主要分为两种。第一种:终端命令行,通过SSH服务实现,没有可视化图形界面,很多人技术牛人喜欢这种方式,因为方便快捷。第二种:图形用户界面,通过xrdp或vnc服务实现,提供可视化图......
  • windows之MFC进度条
    windows之MFC进度条创建UI线程创建线程类在vsstudio2019中按快捷键ctrl+shift+x弹出类向导,在类向导中添加MFC类,选择父类为CWinThread。定义类名称点击确定即可。关联该UI线程对应的对话框BOOLCProgressThread::InitInstance(){CProgressDlgdlgprogress;......
  • 一键摸鱼神器火了专为Windows系统打造,老板在身后也可以很淡定
    哪个打工人,还没点摸鱼小技巧了?这不最近,有一个摸鱼工具,名叫Loaf,就有点火,还冲上过微博热搜。在你安装好应用,点一下左上角的“摸鱼”按钮后,电脑就能弹出一个假的系统更新页面:然后你就可以正大光明地掏出手机/端起咖啡杯、往后一仰摊在椅子上开始摸鱼了~老板从你背后走过,你也可以“无动......
  • linux系统和windows系统检测磁盘大小报警
    1.应用场景需要往磁盘中存储图片和或者数据,需要检测磁盘大小,当小于5GB的时候提示用户,并停止存储图片和数据,避免磁盘塞满,无法启动系统或者操作电脑;2.实现方法用一个定时器去定时查询磁盘空间大小,linux系统,采用QProess执行命令,然后解析命令返回值,获取剩余的磁盘空间voidFaceM......
  • LabWindows/CVI Scan( )函数
    背景介绍Scan()可以将字符串按照用户formatString格式说明分解成多个组件。最多可以分解29个组件。Scan()很强大且复杂,使用起来容易出错,但它却被频繁使用。Scan()函数函数头文件:#include<formatio.h>函数原型:intScan(void*Source,charFormat_String[],...);将字符......
  • 在Windows下配置Clang编译器
    PreferencesLinux&macOS平台LLVM相关工具链下载2019年,在Windows下配置Clang编译器VisualStudio2022中使用Clangclion使用clang编译Clion2020.3:如何设置Clang编译器这篇文章主要介绍如何在Windows使用Clang编译器来编译C/C++程序(在命令行下,clang是C编译器,编译C++......
  • dhcp服务器迁移---从windows server 2003到windows server 2012
    近期,工作中接触到dhcp服务器的迁移。搜索了网上的一些解决方案,很详细。以下主要是碰到的一些问题以及解决方案。由于2003的版本太老,导出来的配置文件为古老的mdb格式,而导入到2012中的格式需要为txt。 在2003中,尝试用命令(网上可找到)导出来txt格式,但是公司那台服务器实现不了......