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]); check_error(); // 3.a.3) Create the HKCU\TestRegistry\Values\BinaryValueFromrHexString key (set to "0123456789ABCDEF") $registry->SetBinaryValueFromHexString(Registry::HKCU, $test_key, 'BinaryValueFromHexString', "0123456789ABCDEF"); check_error(); // 3.b) Create the HKCU\TestRegistry\Values\DWORDValue key (set to 0x01020304) $registry->SetDWORDValue(Registry::HKCU, $test_key, 'DWORDValue', 0x1020304); check_error(); // 3.c) Create the HKCU\TestRegistry\Values\ExpandedStringValue key, referencing the %WINDIR% environment variable $registry->SetExpandedStringValue(Registry::HKCU, $test_key, 'ExpandedStringValue', '%WINDIR%\\Something');