#include #include #include #pragma comment(lib, "C:\borland\bcc55\Lib\PSDK\shlwapi.lib") void SystemRegistryGetName(void) { HKEY hKey; char KeyName[1000]; DWORD KeyNameSize; DWORD Index; LONG lResult; char ValueName[1000]; DWORD ValueNameSize; DWORD ValueType; DWORD ValueSize; char Value[1000]; /* レジストリキーのオープン */ RegOpenKeyEx( HKEY_CURRENT_USER, "Software\\test2\\sub", 0, KEY_ALL_ACCESS, &hKey); /* サブキーの列挙 */ for (Index = 0;; Index++) { KeyNameSize = 1000; lResult = SHEnumKeyEx( hKey, Index, KeyName, &KeyNameSize); if(lResult != ERROR_SUCCESS) break; printf("サブキーのキー名: %s\n", KeyName); } printf("サブキーの数: %d\n", Index); /* レジストリ値の列挙 */ for (Index = 0;; Index++) { ValueNameSize = 1000; ValueSize = 1000; lResult = SHEnumValue( hKey, Index, ValueName, &ValueNameSize, &ValueType, Value, &ValueSize); if (lResult != ERROR_SUCCESS) break; printf("%s\n", ValueName); } printf("値の数: %d\n", Index); /* 終了 */ RegCloseKey(hKey); } int main(void) { SystemRegistryGetName(); return 0; }