// 注册表操作.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <Shlwapi.h>
#pragma comment(lib,"Shlwapi.lib")
BOOL RegIsExit(HKEY hRoot,LPCTSTR lpSubKey)
{
HKEY hKey;
if ( ERROR_SUCCESS != RegOpenKeyEx(hRoot,lpSubKey,0,KEY_READ,&hKey))
{
return FALSE;
}
RegCloseKey(hKey);
return TRUE;
}
BOOL RegRead(HKEY Key,LPCTSTR lpSubKey,LPCTSTR lpValueName,VOID* pdwData,DWORD* pdwLen)
{
HKEY hKey;
if ( ERROR_SUCCESS != RegOpenKeyEx(Key,lpSubKey,0,KEY_READ,&hKey))
{
return FALSE;
}
LONG lRet = RegQueryValueEx(hKey,
lpValueName,
NULL,
NULL,
(LPBYTE)pdwData,
pdwLen);
if (ERROR_SUCCESS != lRet)
{
RegCloseKey(hKey);
return FALSE;
}
RegCloseKey(hKey);
return TRUE;
}
BOOL RegWrite(HKEY Key,
LPCTSTR lpSubKey,
LPCTSTR lpValueName,
DWORD dwType,
VOID* pdwData,
DWORD dwLen)
{
HKEY hKey;
if ( ERROR_SUCCESS != RegOpenKeyEx(Key,lpSubKey,0,KEY_WRITE,&hKey))
{
return FALSE;
}
LONG lRet = RegSetValueEx(hKey,
lpValueName,
NULL,
dwType,
(LPBYTE)pdwData,
dwLen);
if (ERROR_SUCCESS != lRet)
{
RegCloseKey(hKey);
return FALSE;
}
RegCloseKey(hKey);
return TRUE;
}
BOOL RegDelete(HKEY RootKey, const char *pSubKey)
{
if (ERROR_SUCCESS != SHDeleteKey( RootKey,pSubKey))
{
return FALSE;
}
return TRUE;
}
BOOL RegCreate(
HKEY hRoot,
LPCTSTR lpSubKey,
LPCTSTR lpValueName,
DWORD dwType,
VOID* pdwData,
DWORD dwLen)
{
HKEY hKey;
if (RegCreateKeyEx( //打开指定键
hRoot,
lpSubKey,
0,
NULL,
REG_OPTION_NON_VOLATILE,
NULL,
NULL,
&hKey,
NULL) != ERROR_SUCCESS)
{
return FALSE;
}
RegCloseKey(hKey);
return RegWrite(hRoot,lpSubKey,lpValueName,dwType,pdwData,dwLen);
}
int main(int argc, char* argv[])
{
// char pData[256] = { 0 };
// DWORD dwLen = 256 ;
// if (!RegRead(HKEY_LOCAL_MACHINE,
// "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
// "avgnt",pData,&dwLen))
// {
//
// }
// printf("%s\n",pData);
// if (!RegWrite(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run","dasemimi",REG_SZ,pData,dwLen))
// {
//
// }
// RegDelete(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\dase");
// char* pData="dasemimi";
// DWORD dwLen = strlen(pData);
// if (RegCreate(HKEY_LOCAL_MACHINE,
// "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\dasemimi",
// "sese",REG_SZ,pData,dwLen) == FALSE)
// {
// printf("失败\n");
// }
if (RegIsExit(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\dasemimi"))
{
printf("存在\n");
}else
{
printf("不存在\n");
}
return 0;
}
简单注册表操作函数
最新推荐文章于 2023-06-18 18:10:43 发布