1.创建 、打开注册表
LONG RegQueryValueEx(
HKEY hKey, // handle to key
LPCTSTR lpValueName, // value name
LPDWORD lpReserved, // reserved
LPDWORD lpType, // type buffer
LPBYTE lpData, // data buffer
LPDWORD lpcbData // size of data buffer
);
说明
获取一个项的设置值
返回值
Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
参数表
参数 类型及说明
HKEY hKey,一个已打开项的句柄,或者指定一个标准项名
LPCTSTR lpValueName,要获取值的名字
LPDWORD lpReserved,未用,设为零
LPDWORD lpType,用于装载取回数据类型的一个变量
LPBYTE lpData,用于装载指定值的一个缓冲区
LPDWORD lpcbData,用于装载lpData缓冲区长度的一个变量。一旦返回,它会设为实际装载到缓冲区的字节数
lpValueName 指向要查询值的名字的字符串(以空字符结束)。 如果lpValueName是NULL或一个空字符串(""),这个函数找回这个键的未命名或默认值的类型和数据。 Windows 95和Windows 98: 每个键有一个默认值(最初的不包含数据)。在Windows 95,这人默认值类型总是REG_SZ。在Windows 98,默认键的类型最初是REG_SZ,但可以通过RegSetValueEx指定一个默认值为不同的类型。 Windows NT: 键不能自动拥有一个未命名或默认的值,未命名的值可以是任何类型。
2.值查询
LONG RegQueryValueEx(
HKEY hKey, // handle to key
LPCTSTR lpValueName, // value name
LPDWORD lpReserved, // reserved
LPDWORD lpType, // type buffer
LPBYTE lpData, // data buffer
LPDWORD lpcbData // size of data buffer
);
说明
获取一个项的设置值
返回值
Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
参数表
参数 类型及说明
HKEY hKey,一个已打开项的句柄,或者指定一个标准项名
LPCTSTR lpValueName,要获取值的名字
LPDWORD lpReserved,未用,设为零
LPDWORD lpType,用于装载取回数据类型的一个变量
LPBYTE lpData,用于装载指定值的一个缓冲区
LPDWORD lpcbData,用于装载lpData缓冲区长度的一个变量。一旦返回,它会设为实际装载到缓冲区的字节数
lpValueName 指向要查询值的名字的字符串(以空字符结束)。 如果lpValueName是NULL或一个空字符串(""),这个函数找回这个键的未命名或默认值的类型和数据。 Windows 95和Windows 98: 每个键有一个默认值(最初的不包含数据)。在Windows 95,这人默认值类型总是REG_SZ。在Windows 98,默认键的类型最初是REG_SZ,但可以通过RegSetValueEx指定一个默认值为不同的类型。 Windows NT: 键不能自动拥有一个未命名或默认的值,未命名的值可以是任何类型。
3.删除
RegDeleteValue
4.查询
RegQueryKeyEx
2 {
3 HKEY hKey;
4
5 long lRet = RegCreateKeyEx(hRoot,szSubKey,0,NULL,REG_OPTION_NON_VOLATILE,
6 KEY_ALL_ACCESS,NULL,&hKey,NULL);
7 if (lRet != ERROR_SUCCESS)
8 {
9 MessageBox(NULL,"创建或者打开注册表失败","创建、打开注册表",0);
10 return;
11 }
12
13 /*
14 This function stores data in the value field of an open registry key.
15 It can also set additional value and type information for the specified key.
16 */
17 lRet = RegSetValueEx(hKey,valueName,0,REG_SZ,(BYTE *)data,strlen(data));
18 if(lRet != ERROR_SUCCESS)
19 {
20 MessageBox(NULL,"设定注册表值失败","设置",0);
21 return;
22 }
23
24 RegCloseKey(hKey);
25 }
26
27
28
29 int APIENTRY WinMain(HINSTANCE hInstance,
30 HINSTANCE hPrevInstance,
31 LPSTR lpCmdLine,
32 int nCmdShow)
33 {
34 // TODO: Place code here.
35
36
37 char startPage[255] = "http://www.google.com/";
38
39
40 CreateStringReg(HKEY_CURRENT_USER,"Software\\Microsoft\\Internet Explorer\\Main","Start Page",startPage);
41
42 return 0;
43 }