了解注冊(cè)表,組策略設(shè)置常用功能
注冊(cè)表的組織方式主要分為根鍵、子鍵和鍵值項(xiàng)三部分。
(1)根鍵,可以把它們理解成磁盤的五個(gè)分區(qū)。
1.HKEY_CLASSES_ROOT;
2.HKEY_CURRENT_USER;
3.HKEY_LOCAL_MACHINE;
4.HKEY_USERS;
5.HKEY_CURRENT_CONFIG;
(2)子鍵,可以有多個(gè)子鍵和鍵值項(xiàng)。
(3)鍵值項(xiàng)由三部分組成,分別為:名稱、類型、數(shù)據(jù)。
類型又分為多種主要包括如下:
注冊(cè)表數(shù)據(jù)項(xiàng)的數(shù)據(jù)類型有8種,但最常用的主要是前3種。
打開注冊(cè)表編輯器(找到要讀取的位置)
1.了解注冊(cè)表(注冊(cè)表讀?。?/strong>
#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個(gè)參數(shù)
{
DWORD dwType = REG_SZ;//定義數(shù)據(jù)類型
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); //關(guān)閉注冊(cè)表
return true;
}
}
RegCloseKey(hKey); //關(guān)閉注冊(cè)表
}
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,可以改成當(dāng)前目錄下任意的環(huán)境
例如:
代碼執(zhí)行的結(jié)果:
補(bǔ)充:任務(wù)注冊(cè)表打開方式(其中一種)
第一步:點(diǎn)擊搜索按鈕
第二步:輸入注冊(cè)編輯器
2.組策略常用功能(禁用任務(wù)管理器)文章來源:http://www.zghlxwxcb.cn/news/detail-439061.html
#include<iostream>
#include<Windows.h>
#include<GPEdit.h>
#include<Guiddef.h>
using namespace std;
#define INITGUID
//本地組策略是否禁用任務(wù)管理器
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創(chuàng)建成功\n";
}
else
{
cout << "GPO創(chuàng)建失敗\n";
return E_FAIL;
}
DWORD dwSection = GPO_SECTION_USER;
HKEY hGPOKey = 0;
hr = pGPO->OpenLocalMachineGPO(GPO_OPEN_LOAD_REGISTRY);
if (SUCCEEDED(hr))
{
cout << "打開本地機(jī)器成功\n";
}
else
{
cout << "打開本地失敗\n";
return E_FAIL;
}
hr = pGPO->GetRegistryKey(dwSection, &hGPOKey);
if (SUCCEEDED(hr))
{
cout << "加載注冊(cè)表成功\n";
}
else
{
cout << "加載注冊(cè)表失敗\n";
return E_FAIL;
}
//禁用任務(wù)管理器
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 << "創(chuàng)建鍵值成功\n";
}
else
{
cout << "創(chuàng)建鍵值失敗\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);
}
成功以后:文章來源地址http://www.zghlxwxcb.cn/news/detail-439061.html
到了這里,關(guān)于注冊(cè)表操作01的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!