RegistryKey.GetValueNames 方法
定义
检索包含与此项关联的所有值名称的字符串数组。Retrieves an array of strings that contains all the value names associated with this key.
public:
cli::array <System::String ^> ^ GetValueNames();
public string[] GetValueNames ();
member this.GetValueNames : unit -> string[]
Public Function GetValueNames () As String()
返回
- String[]
包含当前项的值名称的字符串数组。An array of strings that contains the value names for the current key.
例外
该用户没有读取注册表项所需的权限。The user does not have the permissions required to read from the registry key.
要操作的 RegistryKey 已关闭(无法访问关闭的项)。The RegistryKey being manipulated is closed (closed keys cannot be accessed).
用户没有必需的注册表权限。The user does not have the necessary registry rights.
发生系统错误;例如,当前项已被删除。A system error occurred; for example, the current key has been deleted.
示例
此代码示例是为类提供的更大示例的一部分 RegistryKey 。This code example is part of a larger example provided for the RegistryKey class.
// Print the information from the Test9999 subkey.
Console::WriteLine( "There are {0} subkeys under Test9999.", test9999->SubKeyCount.ToString() );
array<String^>^subKeyNames = test9999->GetSubKeyNames();
for ( int i = 0; i < subKeyNames->Length; i++ )
{
RegistryKey ^ tempKey = test9999->OpenSubKey( subKeyNames[ i ] );
Console::WriteLine( "\nThere are {0} values for {1}.", tempKey->ValueCount.ToString(), tempKey->Name );
array<String^>^valueNames = tempKey->GetValueNames();
for ( int j = 0; j < valueNames->Length; j++ )
{
Console::WriteLine( "{0,-8}: {1}", valueNames[ j ], tempKey->GetValue( valueNames[ j ] )->ToString() );
}
}
// Print the information from the Test9999 subkey.
Console.WriteLine("There are {0} subkeys under {1}.",
test9999.SubKeyCount.ToString(), test9999.Name);
foreach(string subKeyName in test9999.GetSubKeyNames())
{
using(RegistryKey
tempKey = test9999.OpenSubKey(subKeyName))
{
Console.WriteLine("\nThere are {0} values for {1}.",
tempKey.ValueCount.ToString(), tempKey.Name);
foreach(string valueName in tempKey.GetValueNames())
{
Console.WriteLine("{0,-8}: {1}", valueName,
tempKey.GetValue(valueName).ToString());
}
}
}
' Print the information from the Test9999 subkey.
Console.WriteLine("There are {0} subkeys under Test9999.", _
test9999.SubKeyCount.ToString())
For Each subKeyName As String In test9999.GetSubKeyNames()
Dim tempKey As RegistryKey = _
test9999.OpenSubKey(subKeyName)
Console.WriteLine(vbCrLf & "There are {0} values for " & _
"{1}.", tempKey.ValueCount.ToString(), tempKey.Name)
For Each valueName As String In tempKey.GetValueNames()
Console.WriteLine("{0,-8}: {1}", valueName, _
tempKey.GetValue(valueName).ToString())
Next
Next
注解
如果未找到键的值名称,则返回空数组。If no value names for the key are found, an empty array is returned.
注册表项可以具有默认值(即名称/值对,其中名称为空字符串 ( "" ) 。A registry key can have a default value - that is, a name/value pair in which the name is the empty string (""). 如果已为注册表项设置了默认值,则方法返回的数组 GetValueNames 包含空字符串。If a default value has been set for a registry key, the array returned by the GetValueNames method includes the empty string.