
// Déclarations
hKey is int
lpcbData is int
ulOptions is int
lsData is string
// Read option
ulOptions=BinaryOR(0x00020000, 0x0001)
ulOptions=BinaryOR(ulOptions, 0x0008)
ulOptions=BinaryOR(ulOptions, 0x0010)
ulOptions=BinaryAND(ulOptions, BinaryNOT(0x00100000))
// Open key ( 0x80000001 --> HKEY_CURRENT_USER\ )
// With subkey Software\MyOtherSubKey
IF API("ADVAPI32.DLL","RegOpenKeyExA", 0x80000001, "Software\MyOtherSubKey", 0, ulOptions, &hKey)<>0 THEN
Error(ErrorInfo())
RETURN
END
// Ask for buffer size
IF API("ADVAPI32.DLL","RegQueryValueExA", hKey, "MyValueToQuery", Null, "binary", Null, &lpcbData)<>0 THEN
API("ADVAPI32.DLL","RegCloseKey",hKey)
Error(ErrorInfo())
RETURN
END
// Fill string for enough data space
lsData=RepeatString(" ", lpcbData+1)
// Ask for binary data
IF API("ADVAPI32.DLL","RegQueryValueExA", hKey, "MyValueToQuery", Null, "binary", &lsData, &lpcbData)<>0 THEN
API("ADVAPI32.DLL","RegCloseKey",hKey)
Error(ErrorInfo())
ELSE
Info(lsData)
END
// Close opened key
API("ADVAPI32.DLL","RegCloseKey",hKey)