} // check_error - // Checks that the last called registry method succeded. function check_error() { global $registry, $tab, $eol; $status = $registry->GetLastError(); if ($status) { echo "Last registry call failed, status = 0x" . sprintf("%08X", $status) . $eol; exit; } } // 0) Create the registry object $registry = new Registry(); // 1) Enumerate all the keys under HKCU\Software and print them $keys = $registry->EnumKeys(Registry::HKCU, 'Software'); check_error(); echo "Registry keys for HKCU\\Software :\n"; foreach ($keys as $key) { echo "{$tab}{$key}{$eol}"; } // 2) Create the HKCU\TestRegistry\Values key $test_key = 'TestRegistry/Values'; // Slashes are replaced by backslashes $registry->CreateKey(Registry::HKCU, $test_key); check_error(); // 3.a.1) Create the HKCU\TestRegistry\Values\BinaryValueFromString key $registry->SetBinaryValue(Registry::HKCU, $test_key, 'BinaryValueFromString', 'ABCDEF'); check_error(); // 3.a.2) Create the HKCU\TestRegistry\Values\BinaryValueFromrArray key (set to "ABC") $registry->SetBinaryValue(Registry::HKCU, $test_key, 'BinaryValueFromArray', [65, 66, 67]);