RegistryKey.OpenRemoteBaseKey Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee opent u een nieuwe T:Microsoft. Win32.RegistryKey die de aangevraagde sleutel op een externe computer vertegenwoordigt, met de optie van de opgegeven registerweergave.
Overloads
| Name | Description |
|---|---|
| OpenRemoteBaseKey(RegistryHive, String) |
Hiermee opent u een nieuwe RegistryKey die de aangevraagde sleutel op een externe computer vertegenwoordigt. |
| OpenRemoteBaseKey(RegistryHive, String, RegistryView) |
Hiermee opent u een nieuwe registersleutel die de aangevraagde sleutel vertegenwoordigt op een externe computer met de opgegeven weergave. |
OpenRemoteBaseKey(RegistryHive, String)
Hiermee opent u een nieuwe RegistryKey die de aangevraagde sleutel op een externe computer vertegenwoordigt.
public:
static Microsoft::Win32::RegistryKey ^ OpenRemoteBaseKey(Microsoft::Win32::RegistryHive hKey, System::String ^ machineName);
public static Microsoft.Win32.RegistryKey OpenRemoteBaseKey(Microsoft.Win32.RegistryHive hKey, string machineName);
static member OpenRemoteBaseKey : Microsoft.Win32.RegistryHive * string -> Microsoft.Win32.RegistryKey
Public Shared Function OpenRemoteBaseKey (hKey As RegistryHive, machineName As String) As RegistryKey
Parameters
- hKey
- RegistryHive
De HKEY die moet worden geopend vanuit de RegistryHive opsomming.
- machineName
- String
De externe machine.
Retouren
De aangevraagde registersleutel.
Uitzonderingen
hKey is ongeldig.
machineName is niet gevonden.
machineName is null.
De gebruiker beschikt niet over de juiste machtigingen om deze bewerking uit te voeren.
De gebruiker beschikt niet over de benodigde registerrechten.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u een registersleutel op een externe computer opent en de waarden van de sleutel opsommen. De externe computer moet de externe registerservice uitvoeren. Geef de naam van de externe computer op als een opdrachtregelargument bij het aanroepen van het programma.
using namespace System;
using namespace System::IO;
using namespace System::Security::Permissions;
using namespace Microsoft::Win32;
int main( int argc, char *argv[] )
{
RegistryKey ^ environmentKey;
// Check that an argument was specified when the
// program was invoked.
if ( argc == 1 )
{
Console::WriteLine( "Error: The name of the remote computer "
"must be specified as input on the command line." );
return -1;
}
try
{
// Open HKEY_CURRENT_USER\Environment on a remote computer.
environmentKey = RegistryKey::OpenRemoteBaseKey( RegistryHive::CurrentUser, gcnew String(argv[ 1 ]) )->OpenSubKey( "Environment" );
}
catch ( IOException^ e )
{
Console::WriteLine( "{0}: {1}", e->GetType()->Name, e->Message );
return -1;
}
// Print the values.
Console::WriteLine( "\nThere are {0} values for {1}.", environmentKey->ValueCount.ToString(), environmentKey->Name );
array<String^>^valueNames = environmentKey->GetValueNames();
for ( int i = 0; i < environmentKey->ValueCount; i++ )
{
Console::WriteLine( "{0,-20}: {1}", valueNames[ i ], environmentKey->GetValue( valueNames[ i ] )->ToString() );
}
// Close the registry key.
environmentKey->Close();
}
using System;
using System.IO;
using System.Security.Permissions;
using Microsoft.Win32;
class RemoteKey
{
static void Main(string[] args)
{
RegistryKey environmentKey;
string remoteName;
// Check that an argument was specified when the
// program was invoked.
if(args.Length == 0)
{
Console.WriteLine("Error: The name of the remote " +
"computer must be specified when the program is " +
"invoked.");
return;
}
else
{
remoteName = args[0];
}
try
{
// Open HKEY_CURRENT_USER\Environment
// on a remote computer.
environmentKey = RegistryKey.OpenRemoteBaseKey(
RegistryHive.CurrentUser, remoteName).OpenSubKey(
"Environment");
}
catch(IOException e)
{
Console.WriteLine("{0}: {1}",
e.GetType().Name, e.Message);
return;
}
// Print the values.
Console.WriteLine("\nThere are {0} values for {1}.",
environmentKey.ValueCount.ToString(),
environmentKey.Name);
foreach(string valueName in environmentKey.GetValueNames())
{
Console.WriteLine("{0,-20}: {1}", valueName,
environmentKey.GetValue(valueName).ToString());
}
// Close the registry key.
environmentKey.Close();
}
}
Imports System.IO
Imports System.Security.Permissions
Imports Microsoft.Win32
Public Class RemoteKey
Shared Sub Main(commandLineArgs As String())
Dim environmentKey As RegistryKey
' Check that an argument was specified when the
' program was invoked.
If commandLineArgs.Length = 0 Then
Console.WriteLine("Error: The name of the remote " & _
"computer must be specified as input on the " & _
"command line.")
Return
End If
Try
' Open HKEY_CURRENT_USER\Environment on a remote computer.
environmentKey = RegistryKey.OpenRemoteBaseKey( _
RegistryHive.CurrentUser, _
commandLineArgs(0)).OpenSubKey("Environment")
Catch ex As IOException
Console.WriteLine("{0}: {1}", _
ex.GetType().Name, ex.Message)
Return
End Try
' Print the values.
Console.WriteLine("\nThere are {0} values For {1}.", _
environmentKey.ValueCount.ToString(), environmentKey.Name)
For Each valueName As String In environmentKey.GetValueNames()
Console.WriteLine("{0,-20}: {1}", valueName, _
environmentKey.GetValue(valueName).ToString())
Next
' Close the registry key.
environmentKey.Close()
End Sub
End Class
Opmerkingen
Het register van de lokale computer wordt geopend als machineName dat het is String.Empty. De aangevraagde sleutel moet een hoofdsleutel op de externe computer zijn en wordt geïdentificeerd door de juiste RegistryHive waarde.
Als u een sleutel op afstand wilt openen, moeten zowel de server- als clientcomputers de externe registerservice uitvoeren en extern beheer hebben ingeschakeld.
Zie ook
Van toepassing op
OpenRemoteBaseKey(RegistryHive, String, RegistryView)
Hiermee opent u een nieuwe registersleutel die de aangevraagde sleutel vertegenwoordigt op een externe computer met de opgegeven weergave.
public:
static Microsoft::Win32::RegistryKey ^ OpenRemoteBaseKey(Microsoft::Win32::RegistryHive hKey, System::String ^ machineName, Microsoft::Win32::RegistryView view);
[System.Runtime.InteropServices.ComVisible(false)]
public static Microsoft.Win32.RegistryKey OpenRemoteBaseKey(Microsoft.Win32.RegistryHive hKey, string machineName, Microsoft.Win32.RegistryView view);
[<System.Runtime.InteropServices.ComVisible(false)>]
static member OpenRemoteBaseKey : Microsoft.Win32.RegistryHive * string * Microsoft.Win32.RegistryView -> Microsoft.Win32.RegistryKey
Public Shared Function OpenRemoteBaseKey (hKey As RegistryHive, machineName As String, view As RegistryView) As RegistryKey
Parameters
- hKey
- RegistryHive
De HKEY die moet worden geopend vanuit de RegistryHive opsomming.
- machineName
- String
De externe machine.
- view
- RegistryView
De registerweergave die moet worden gebruikt.
Retouren
De aangevraagde registersleutel.
- Kenmerken
Uitzonderingen
hKey of view is ongeldig.
machineName is niet gevonden.
machineName is null.
De gebruiker beschikt niet over de benodigde registerrechten.
De gebruiker beschikt niet over de vereiste machtigingen om deze bewerking uit te voeren.
Opmerkingen
Het register van de lokale computer wordt geopend als machineName dat het is String.Empty. De aangevraagde sleutel moet een hoofdsleutel op de externe computer zijn en wordt geïdentificeerd door de juiste RegistryHive waarde.
Als u een sleutel op afstand wilt openen, moeten zowel de server- als clientcomputers de externe registerservice uitvoeren en extern beheer hebben ingeschakeld.
In de 64-bits versies van Windows worden delen van het register afzonderlijk opgeslagen voor 32-bits en 64-bits toepassingen. Er is een 32-bits weergave voor 32-bits toepassingen en een 64-bits weergave voor 64-bits toepassingen. Als view dat zo is Registry64 , maar op de externe computer een 32-bits besturingssysteem wordt uitgevoerd, wordt de weergave gebruikt door de Registry32 geretourneerde sleutel.