RegOpenKeyEx 函数打开一个指定键。 
LONG RegOpenKeyEx(  HKEY hKey,         // 要打开主键的句柄  LPCTSTR lpSubKey,  // 要打开子键的地址名字  DWORD ulOptions,   // 保留  REGSAM samDesired, // 安全存取掩码  PHKEY phkResult    // 要打开键句柄的地址); 
参数
- hKey
 - 句柄是一个当前打开的键或下列已确定的保留句柄值:
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
Windows NT: HKEY_PERFORMANCE_DATA 
Windows 95和Windows 98: HKEY_DYN_DATA 
 - lpSubKey
 - 指向一个要打开子键的名字(以空字符结束的字符串)。如果这个参数为空或指向一个空字符串,函数将打开一个能被hKey 参数识别的新键的句柄。在这个语法中,函数将不会关闭先前打开的句柄。 
 - ulOptions
 - 保留;必须是零。
 - samDesired
 - 为新键指定一个描述安全的存取掩码。这个参数可以由下列的值组合成而:
    
        
            | 值 | 
            含意 | 
        
        
            | KEY_ALL_ACCESS | 
            相当于KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK, KEY_SET_VALUE的组合。 | 
        
        
            | KEY_CREATE_LINK | 
            允许新建符号连接。 | 
        
        
            | KEY_CREATE_SUB_KEY | 
            允许新建子键。 | 
        
        
            | KEY_ENUMERATE_SUB_KEYS | 
            允许列举子键。 | 
        
        
            | KEY_EXECUTE | 
            允许读操作。 | 
        
        
            | KEY_NOTIFY | 
            允许修改。 | 
        
        
            | KEY_QUERY_VALUE | 
            允许查询子键数据。 | 
        
        
            | KEY_READ | 
            相当于KEY_QUERY_VALUE,KEY_ENUMERATE_SUB_KEYS,KEY_NOTIFY的组合 | 
        
        
            | KEY_SET_VALUE | 
            允许设置子键数据 | 
        
        
            | KEY_WRITE | 
            相当于KEY_SET_VALUE和KEY_CREATE_SUB_KEY的组合。 | 
        
    
 - phkResult
 - 指定一个变量来接收已打开键的句柄。当你对返回句柄不太长时,调用RegCloseKey函数关闭它。 
 
返回值
如果函数取得成功,返回ERROR_SUCCESS。
如果函数调用失败,返回一个非零的错误代码(定义在WINERROR.H文件中)。你可以使用带有FORMAT_MESSAGE_FROM_SYSTEM标记的FormatMessage函数来获得一个错误的普通描述。
注意
与RegCreateKeyEx函数不同,如果在注册表中指定的键不存在RegOpenKeyEx函数不会新建指定键。 
快速信息
  Windows NT: 需要3.1或更高版本。
  Windows: 需要Windows 95或更高版本。
  Windows CE: 需要1.0或更高版本。
  头文件: winreg.h。
  输入库:advapi32.lib.
  Unicode: Windows NT版本中作为Unicode和ANSI执行。