C++读注册表

 1 #include <iostream>
 2 #include <windows.h>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     HKEY hKEY;
 8     char *KeyPath = "SYSTEM\\CurrentControlSet\\services\\TermService";
 9     
10     // 以读方式打开注册表
11     if(ERROR_SUCCESS == RegOpenKeyEx(HKEY_LOCAL_MACHINE, KeyPath, 0, KEY_READ, &hKEY))
12     {
13         // 定义读取 REG_DWORD 类型键值参数
14         DWORD dwValue;
15         DWORD dwType = REG_DWORD;
16         DWORD dwSize =  sizeof(DWORD);
17         
18         // 定义读取 REG_SZ 类型键值参数
19         char szValue[MAX_PATH];
20         DWORD szType = REG_SZ;
21         DWORD szSize = MAX_PATH;
22         
23         // 定义读取 REG_BINARY 类型键值参数
24         unsigned char binValue[MAX_PATH];
25         DWORD binType = REG_BINARY;
26         DWORD binSize = MAX_PATH;
27         
28         // 读取 REG_DWORD 类型键值 Type 的值
29         if(ERROR_SUCCESS == RegQueryValueEx(hKEY, "Type", 0, &dwType, (LPBYTE)&dwValue, &dwSize))
30         {
31             printf("REG_DWORD 类型键值 Type 的值为:%u.\n", dwValue);
32         }
33         
34         // 读取 REG_SZ 类型键值 DisplayName 的值
35         if(ERROR_SUCCESS == RegQueryValueEx(hKEY, "DisplayName", 0, &szType, (LPBYTE)&szValue, &szSize))
36         {
37             printf("REG_SZ 类型键值 DisplayName 的值为:%s.\n", szValue);
38         }
39         
40         // 读取 REG_BINARY 类型键值 FailureActions 的值
41         if(ERROR_SUCCESS == RegQueryValueEx(hKEY, "FailureActions", 0, &binType, (LPBYTE)&binValue, &binSize))
42         {
43             printf("REG_BINARY 类型键值 FailureActions 的值为:\n");
44             int i;
45             for(i = 0; i < binSize; i++)
46                 printf("%02X  ", binValue[i]);
47             printf("\n");
48         }
49     }
50     RegCloseKey(hKEY);
51 }

猜你喜欢

转载自www.cnblogs.com/hoy0a1d/p/9219353.html