'registry
'从 Windows 注册表返回一个 DWord 值。
'   hLocation:  HKEY_CLASSES_ROOT
'               HKEY_CURRENT_USER
'               HKEY_LOCAL_MACHINE
'               HKEY_USERS
'   sSubKeys： 要打开的子项的名称。
'   sValueName： 要查询的值的名称。
'   lDefault: 默认值返回如果找不到键。
'返回： 从指定的注册表 DWord 值。
Function FF_GetRegistryDWord(ByVal hLocation as HANDLE, sSubKeys as CWSTR, sValueName as CWSTR, ByVal lDefault as Long) as UInteger
   
   Dim hKey as HANDLE
   Dim lRegVal as Byte
   Dim dwType as UInteger
   Dim dwSize as UInteger
   
   If hLocation = 0 Then hLocation = HKEY_CURRENT_USER
   
   lRegVal = lDefault
   
   If (RegOpenKeyExW(hLocation, RTrim(**sSubKeys, "\"), 0, KEY_READ, hKey) = ERROR_SUCCESS) Then
      dwType = REG_DWORD
      dwSize = SizeOf(lRegVal)
      RegQueryValueExW hKey, **sValueName, 0, @dwType, @lRegVal, @dwSize
      RegCloseKey hKey
   End If
   
   Function = lRegVal
   
End Function

