ユーザ指定キーのレジストリ値を列挙(C言語)

説明:

SHRegEnumUSValueを使用して、HKEY_LOCAL_MACHINEにある"Software\masapico"というレジストリキーのレジストリ値を列挙し、各々のレジストリ値の名前と値を表示する。

キーワード:

SHRegOpenUSKey, SHRegEnumUSValue, SHRegCloseUSKey

サンプルコード:

void EnumUSValue(void)
{
	HUSKEY hUSKey;
	LONG lResult;
	DWORD Index;
	char ValueName[1000];
	DWORD ValueNameSize;
	DWORD ValueType;
	char Value[1000];
	DWORD ValueSize;
	
	/* "Software\masapico"をオープン */
	SHRegOpenUSKey(
		"Software\\masapico",
		KEY_ALL_ACCESS,
		NULL,
		&hUSKey,
		TRUE);

	/* レジストリ値を列挙 */
	for(Index = 0;; Index++) {
		ValueNameSize = 1000;
		ValueSize = 1000;

		lResult = SHRegEnumUSValue(
			hUSKey,
			Index,
			ValueName,
			&ValueNameSize,
			&ValueType,
			&Value,
			&ValueSize,
			SHREGENUM_HKLM);

		if(lResult != ERROR_SUCCESS) break;

		/* 取得結果を表示 */
		if(ValueType == REG_SZ) printf("%s: %s\n", ValueName, Value);
		else printf("%s: (...)\n", ValueName);
	}

	/* 終了 */
	SHRegCloseUSKey(hUSKey);
}
(original text:1999/09/04 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。