注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

RegistryKey.OpenRemoteBaseKey 方法  

2011-09-28 16:18:29|  分类: C# |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

打开一个新的 RegistryKey,它表示远程计算机上的请求的项。

命名空间:Microsoft.Win32
程序集:mscorlib(在 mscorlib.dll 中)

public static RegistryKey OpenRemoteBaseKey (
RegistryHive hKey,
string machineName
)

参数

hKey

要从 RegistryHive 枚举中打开的 HKEY。

machineName

远程计算机。

返回值

请求的 RegistryKey

RegistryKey.OpenRemoteBaseKey 方法 - 海里的贝壳 - apple的博客异常

异常类型 条件

ArgumentException

hKey 无效。

IOException

未找到 machineName

ArgumentNullException

machineName 为 空引用(在 Visual Basic 中为 Nothing)。

SecurityException

用户不具有执行该操作的适当权限。

UnauthorizedAccessException

用户没有必需的注册表权限。

RegistryKey.OpenRemoteBaseKey 方法 - 海里的贝壳 - apple的博客备注

如果 machineNameString.Empty,则打开本地计算机注册表。请求的项必须是远程计算机上的根项,并由适当的 RegistryHive 值标识。

为了能够远程打开项,服务器和客户机必须同时运行远程注册表服务并启用远程管理。

RegistryKey.OpenRemoteBaseKey 方法 - 海里的贝壳 - apple的博客示例

下面的代码示例说明如何在远程计算机上打开一个注册表项并枚举该项的值。远程计算机必须运行远程注册表服务。调用该程序时,将远程计算机的名称指定为一个命令行参数。

 

using System;
using System.IO;
using System.Security.Permissions;
using Microsoft.Win32;

[assembly: RegistryPermissionAttribute(SecurityAction.RequestMinimum,
    Read = @"HKEY_CURRENT_USER\Environment")]
[assembly: SecurityPermissionAttribute(SecurityAction.RequestMinimum,
    UnmanagedCode = true)]

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();
    }
}

  评论这张
 
阅读(1158)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017