注册表操作01

这篇具有很好参考价值的文章主要介绍了注册表操作01。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

了解注册表,组策略设置常用功能

注册表的组织方式主要分为根键子键键值项三部分。
(1)根键,可以把它们理解成磁盘的五个分区。
1.HKEY_CLASSES_ROOT;
2.HKEY_CURRENT_USER;
3.HKEY_LOCAL_MACHINE;
4.HKEY_USERS;
5.HKEY_CURRENT_CONFIG;
(2)子键,可以有多个子键和键值项。
(3)键值项由三部分组成,分别为:名称、类型、数据。
类型又分为多种主要包括如下:
注册表操作01

注册表数据项的数据类型有8种,但最常用的主要是前3种。

打开注册表编辑器(找到要读取的位置)

注册表操作01
1.了解注册表(注册表读取)

#include <iostream>
#include <assert.h>
#include "windows.h"
#include "tchar.h"
#include "conio.h"
#include "stdio.h"
using namespace std;

void wcharTochar(const wchar_t* wchar, char* chr, int length)
{
	WideCharToMultiByte(CP_ACP, 0, wchar, -1,
		chr, length, NULL, NULL);
}

bool OpenRegKey(HKEY& hRetKey)
{
	LPCWSTR sw = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\ComputerZ_CN.exe");
	wprintf(L"SW is %s\n", sw);
	if (ERROR_SUCCESS == RegOpenKey(HKEY_LOCAL_MACHINE, sw, &hRetKey))
	{
		return true;
	}
	printf("OpenRegKey return is false!\n");
	return false;
}

bool QueryRegKey(LPCWSTR strSubKey, LPCWSTR strValueName, char* strValue, int length)//这里是传3个参数
{
	DWORD dwType = REG_SZ;//定义数据类型
	DWORD dwLen = MAX_PATH;

	wchar_t data[MAX_PATH];
	HKEY hKey;
	HKEY hSubKey;
	if (OpenRegKey(hKey))
	{
		if (ERROR_SUCCESS == RegOpenKey(HKEY_LOCAL_MACHINE, strSubKey, &hSubKey))
		{
			TCHAR buf[256] = { 0 };

			if (ERROR_SUCCESS == RegQueryValueEx(hSubKey, strValueName, 0, &dwType, (LPBYTE)data, &dwLen))
			{
				wcharTochar(data, strValue, length);
				wprintf(L"data = %s,len= %d\n", data, strlen((const char*)data));
				RegCloseKey(hKey); //关闭注册表
				return true;
			}
		}
		RegCloseKey(hKey); //关闭注册表
	}

	return false;
}
int main()
{
	HKEY  hKey = NULL;
	string result;
	LPCWSTR strSubKey = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\ComputerZ_CN.exe");
	LPCWSTR strValueName = _T("Path");
	char strValue[256];
	int length = 256;
	bool status = QueryRegKey(strSubKey, strValueName, strValue, length);
	printf("status is %d\n", status);
	printf("result is %s\n", strValue);
	return 0;
}

"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ComputerZ_CN.exe"这一部分的ComputerZ_CN.exe,可以改成当前目录下任意的环境
例如:
注册表操作01
代码执行的结果:
注册表操作01
补充:任务注册表打开方式(其中一种)
第一步:点击搜索按钮
注册表操作01
第二步:输入注册编辑器
注册表操作01

2.组策略常用功能(禁用任务管理器)

#include<iostream>
#include<Windows.h>
#include<GPEdit.h>
#include<Guiddef.h>
using namespace std;
#define   INITGUID 
//本地组策略是否禁用任务管理器
LRESULT DisableTaskMgr(int mark)
{
	::CoInitialize(NULL);
	LRESULT status;
	LRESULT hr = S_OK;
	IGroupPolicyObject* pGPO = NULL;
	hr = CoCreateInstance(CLSID_GroupPolicyObject, NULL, CLSCTX_INPROC_SERVER, IID_IGroupPolicyObject, (LPVOID*)&pGPO);
	if (hr == S_OK)
	{
		cout << "GPO创建成功\n";
	}
	else
	{
		cout << "GPO创建失败\n";
		return E_FAIL;
	}
	DWORD dwSection = GPO_SECTION_USER;
	HKEY hGPOKey = 0;
	hr = pGPO->OpenLocalMachineGPO(GPO_OPEN_LOAD_REGISTRY);
	if (SUCCEEDED(hr))
	{
		cout << "打开本地机器成功\n";
	}
	else
	{
		cout << "打开本地失败\n";
		return E_FAIL;
	}
	hr = pGPO->GetRegistryKey(dwSection, &hGPOKey);
	if (SUCCEEDED(hr))
	{
		cout << "加载注册表成功\n";
	}
	else
	{
		cout << "加载注册表失败\n";
		return E_FAIL;
	}
	//禁用任务管理器
	HKEY hKey = NULL;
	if (mark == 1)
	{

		status = RegOpenKeyEx(hGPOKey, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", 0,
			KEY_WRITE, &hKey);
		if (status != ERROR_SUCCESS)
		{
			status = RegCreateKeyEx(hGPOKey, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", 0,
				NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, NULL);
			if (status == S_OK)
			{
				cout << "创建键值成功\n";
			}
			else
			{
				cout << "创建键值失败\n";
				return E_FAIL;
			}
		}
		DWORD lpData = 1;
		status = RegSetKeyValue(hKey, NULL, "DisableTaskMgr", REG_DWORD, (LPCVOID)&lpData, 4);
		status = RegCloseKey(hKey);


	}
	GUID Registerid = REGISTRY_EXTENSION_GUID;
	GUID ThisGuid = {
		0x0F6B957E,
		0x509E,
		0x11D1,
		{ 0xA7, 0xCC, 0x00, 0x00, 0xF8, 0x75, 0x71, 0xE3 }
	};
	RegCloseKey(hGPOKey);

	status = pGPO->Save(FALSE, TRUE, &Registerid, &ThisGuid);
	pGPO->Release();
	::CoUninitialize();
}
int main()
{

	DisableTaskMgr(1);
}

成功以后:
注册表操作01文章来源地址https://www.toymoban.com/news/detail-439061.html

到了这里,关于注册表操作01的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【禁用U盘】电脑windows7/10注册表、组策略禁用优盘;

    1、运行regedit,打开注册表编辑器; 2、HKEY_LOCAL_MACHIN/SYSTEM/CurrentControlSet-services/USBSTOR; 3、点击右边的 Start ,数值修改为4; 即可禁用U盘,启用在原路径改回3即可; 批处理bat脚本命令: @echo off for /f \\\"tokens=3\\\" %%i in (\\\'reg query HKLMSYSTEMCurrentControlSetServicesUsbStor /v Start\\\') do ( if \\\"%%

    2024年02月08日
    浏览(44)
  • [工具书]常用软件注册表位置

    HKEY_CURRENT_USERSOFTWAREMicrosoftOffice16.0Excel HKEY_CURRENT_USERSOFTWARETencentWeChat HKEY_USERS{id}SOFTWARETencentWeChat 两个重要数值: FileSavePath InstallPath 1.2.1 bugReport HKEY_CURRENT_USERSOFTWARETencentbugReportWechatWindows HKEY_USERS{id}SOFTWARETencentbugReportWechatWindows 这个项里有一个InstallDir,记录了

    2024年02月08日
    浏览(33)
  • Unity 注册表操作

    内容将会持续更新,有错误的地方欢迎指正,谢谢!   Unity 注册表操作       TechX 坚持将创新的科技带给世界! 拥有更好的学习体验 —— 不断努力,不断进步,不断探索 TechX —— 心探索、心进取! 助力快速掌握 Registry 注册表操作 为初学者节省宝贵的学习时间,避免困惑

    2024年02月02日
    浏览(38)
  • DOS下操作注册表

    下面以彻底关闭window10 操作为背景,通过命令行对注册表进行操作. 执行命令需要管理员权限 如果目录中存在空格 需要双引号 hklm为 HKEY_LOCAL_MACHINE 的缩写 查询: QUERY 添加: ADD 删除: DELETE 复制: COPY 保存: SAVE /t 表示 类型 如下 /v 表示 键名 效果如下图 /d 表示 键值 效果如

    2024年02月10日
    浏览(42)
  • Windows注册表的读写操作

    本文介绍了Windows注册表的基本知识,以及C++中打开关闭查询修改注册表的常用接口。 注册表的基本知识(本文第1节)参考 https://blog.csdn.net/weixin_45300266/article/details/122359920并作修改。 注册表是windows系统中具有层次结构的核心数据库,储存的数据对windows 和Windows上运行的应用

    2024年02月04日
    浏览(53)
  • Windous注册表+c#操作

    下面将会分享注册表的基础知识及C# 读写注册表的方法 注册表(英语:Registry,中国大陆译作注册表,台湾、港、澳译作登录档)是Microsoft Windows操作系统和其应用程序中的一个重要的层次型数据库,用于存储系统和应用程序的设置信息。 早在Windows 3.0推出OLE技术的时候,注

    2024年02月05日
    浏览(45)
  • [C#][]操作注册表一些注意点

    C#注册表只需要引入 using Microsoft.Win32; C#注册表操作都是通过2个类Registry和RegistryKey进行所有操作。但是有些基本注意事项经常忘记,不常用就很容易忘记。 第一,打开注册表,第2个bool参数问题: RegistryKey key = Registry.LocalMachine; RegistryKey software = key.OpenSubKey(\\\"software\\\\MyAp

    2024年02月10日
    浏览(40)
  • 【教程】Windows通过注册表方式设置TCP超时时间

    Windows 通过注册表设置 TCP超时时间: 1.打开“开始”菜单,输入”regedit”并打开注册表编辑器 2.在注册表编辑器中,导航到 HKEY LOCAL MACHINE SYSTEM CurrentControlSet Services Tcpip Parameters. 3.在右侧窗格中,右键单击空白处,然后选择”新建””DWORD(32 位) 值”。 4.输入”TcpTimedWaitDelay”

    2024年02月11日
    浏览(44)
  • No1.Windows10系统优化设置注册表项

    Windows10.22H2.19045.2193     2022‎年‎11‎月‎4‎日

    2024年02月11日
    浏览(35)
  • win10系统电脑修改注册表设置自动锁屏时间

    描述:win10系统笔记本电脑修改注册表设置自动锁屏时间的方法 步骤:     win键+r,输入regedit进入注册表界面       注册表界面按照路径 直接复制粘贴到下面的输入框中HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem          空白处右键新建 DWORD(32位)值,命

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包