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 }