RegOpenKeyEx用于打开一个注册表键,有打开就有关闭,成对使用
RegCloseKeyEx用于关闭一个注册表键
LONG RegOpenKeyEx(
HKEY hKey, // 需要打开的主键的名称
LPCTSTR lpSubKey, //需要打开的子键的名称
DWORD ulOptions, // 保留,设为0
REGSAM samDesired, // 安全访问标记,也就是权限
PHKEY phkResult // 得到的将要打开键的句柄
)
返回值是LONG型
返回值 如果函数调用成功,则返回0(ERROR_SUCCESS)。否则,返回值为文件WINERROR.h中定义的一个非零的错误代码。
1.主键有以下:可以打开注册表编辑器就可以看到几个主键
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG
2.IpSubKey是子键
是一个字符串的键,如果字符串为“”或是NULL时,则找开phKey指向的句柄
3.ulOptions
保留,必须设置为 0
4.samDesired安全标记权限
有以下权限
#define KEY_QUERY_VALUE (0x0001) //查询值
#define KEY_SET_VALUE (0x0002) //设置值
#define KEY_CREATE_SUB_KEY (0x0004) //创建子键
#define KEY_ENUMERATE_SUB_KEYS (0x0008)
#define KEY_NOTIFY (0x0010)
#define KEY_CREATE_LINK (0x0020)
#define KEY_READ ((STANDARD_RIGHTS_READ |\
KEY_QUERY_VALUE |\
KEY_ENUMERATE_SUB_KEYS |\
KEY_NOTIFY) \
& \
(~SYNCHRONIZE))
#define KEY_WRITE ((STANDARD_RIGHTS_WRITE |\
KEY_SET_VALUE |\
KEY_CREATE_SUB_KEY) \
& \
(~SYNCHRONIZE))
#define KEY_EXECUTE ((KEY_READ)