如何在VC++中使用注册表(2)
参数lpSecurityAttributes为一个指向SECURITY_ATTRIBUTES结构的指针,确定返回的句柄是否被子处理过程继承。如果该参数为NULL,则句柄不可以被继承。在WINNT中,该参数可以为新创建的键增加安全的描述。
参数phkResult为一个指向新创建或打开的键的句柄的指针。
参数lpdwDispition指明键是被创建还是被打开的,可以是下面的一些数值:
REG_CREATE_NEW_KEY 键先前不存在,现在被创建。
REG_OPENED_EXISTING_KEY 键先前已存在,现在被打开。
返回值 如果函数调用成功,则返回ERROR_SUCCESS。否则,返回值为文件WINERROR.h中定义的一个非零的错误代码,可以通过设置FORMAT_MESSAGE_FROM_SYSTEM标识调用FormatMessage函数来获取一个对错误的总体描述。
二、 打开一个键RegOpenKeyEx
RegOpenKeyEx函数可以打开一个指定的键,函数原型如下:
LONG RegOpenKeyEx(
HKEY hkey,
LPCTSTR lpSubKey,
DWORD ulOption,
REGSAM samDesired,
PHKEY phkResult
);
各参数及返回值的含义如下:
参数hKey的含义同RegCreateKeyEx函数中的hKey参数。
参数lpSubKey为一个指向以零结尾的字符串的指针,其中包含子键的名称,可以利用反斜线()分隔不同的子键名。如果字符串为空,则根据hKey参数创建一个新的句柄。在这种情况下,并不关闭先前打开的句柄。
ulOption保留,通常必须设置为0。
参数samDesired的含义同RegCreateKeyEx函数中的samDesired参数。
参数phkResult为一个指针,用来指向打开的键的句柄。可以通过RegCloseKey函数关闭这个句柄。
返回值同RegCreateKeyEx函数的返回值。
三、 读取键RegQueryValueEx
通过RegQueryValueEx函数可以从一个已经打开的键中读取数据,函数原型如下:
LONG RegQueryValueEx(
HKEY hKey,
LPTSTR lpValueName,
LPDWORD lpReserved,
LPDWORD lpType,
LPBYTE lpData,
LPDWORD lpcbData
);
- 上一篇:VC++实现拨号上网程序
- 下一篇:在VC中修改显示器的分辩率和色彩

