WinCE注册表操作API函数(一)

来源:互联网 发布:k svd算法 编辑:程序博客网 时间:2024/05/21 02:21

注册表API函数

·创建/打开Key

LONG RegCreateKeyEx(

  HKEY hKey,

  LPCWSTR lpSubKey,

  DWORD Reserved,

  LPWSTR lpClass,

  DWORD dwOptions,

  REGSAM samDesired,

  LPSECURITY_ATTRIBUTES lpSecurityAttributes,

  PHKEY phkResult,

  LPDWORD lpdwDisposition

);

  如果指定的子键存在则打开,不存在则创建该子键并打开。

  hKey:要创建或者打开的键的父键。如:HKEY_LOCAL_MACHINEHKEY_CURRENT_USER

  lpSubKey:要创建或者打开的键的名称。如:_T("Drivers//Active//")

  lpClass:该参数是一个指针,指向包含键的类名称的字符串。如果没有类名称要制定,则设置为NULL

  dwOptions:设置为REG_OPTION_NON_VOLATILE,表示创建非易失性的键,在系统重新启动后,该键保留。设置为REG_OPTION_VOLATILE,当系统重新启动后,所创建的键将不保存。该参数对于打开键时被忽略。

  samDesired:忽略,设置为0

  lpSecurityAttributes:设置为NULL

  phkResult:用于存储创建或者打开的键的句柄。

lpdwDisposition:用于存储子键是被打开还是创建的信息。REG_CREATED_NEW_KEY表示子键不存在,是被创建的。REG_OPENED_EXISTING_KEY表示子键存在,是被打开的。

函数执行成功,返回ERROR_SUCCESS

·打开Key

LONG RegOpenKeyEx(

  HKEY hKey,

  LPCWSTR lpSubKey,

  DWORD ulOptions,

  REGSAM samDesired,

  PHKEY phkResult

);

  其参数与RegCreateKeyEx函数的参数含义相同。如果指定的子键不存在,该函数不会去创建它,而是执行失败。

·写入键值

LONG RegSetValueEx(

  HKEY hKey,

  LPCWSTR lpValueName,

  DWORD Reserved,

  DWORD dwType,

  const BYTE* lpData,

  DWORD cbData

);

  hKey:已打开的键的句柄,通常是上面两个函数的输出参数phkResult

  lpValueName:用于设置键值的名称,如果此键值名称不存在,就新添一个键值,否则就修改此键值。

  dwType:用于设置键值的数据类型。

REG_BINARY

二进制数据

REG_DWORD

4字节32位整数

REG_DWORD_LITTLE_ENDIAN

等同于REG_DWORD

REG_DWORD_BIG_ENDIAN

big-endian格式存储的DWORD

REG_EXPAND_SZ

使用嵌入式环境变量,以0终止的字符串

REG_LINK

应用程序不使用

REG_MULTI_SZ

一系列以0终止的字符串,是以两个0字符终止

REG_NONE

没有定义的数据类型

REG_RESOURCE_LIST

设备驱动的资源列表

REG_SZ

0终止的Unicode字符串

  lpData:指向存储要写入的数据的缓冲区。

  cbData:指定lpData所指向的缓冲区的大小。

·读取键值

LONG RegQueryValueEx(

  HKEY hKey,

  LPCWSTR lpValueName,

  LPDWORD lpReserved,

  LPDWORD lpType,

  LPBYTE lpData,

  LPDWORD lpcbData

);

  hKey:已打开的键的句柄。

  lpValueName:要读取的键值的名称。

  lpType:所读取的键值的数据类型。

  lpData:存储所读取键值的值。

  lpcbData:做为输入参数用来指定lpData缓冲区的大小,做为输出参数用来存储所读取键值的值的长度。

·删除键

LONG RegDeleteKey(

  HKEY hKey,

  LPCWSTR lpSubKey

);

  hKey:要删除的键的父键,通常此参数被设置为根键常数或者已打开的键。

  lpSubKey:要删除键的名称。

  需要注意的是,在调用该函数删除键时,该键不能处于打开状态。

  朱铭雷

原创粉丝点击