什么是获取CurrentUser RegistryKey的正确方法

时间:2015-10-21 13:32:28

标签: c# registry

也许这将是一个愚蠢的问题,但

之间有什么区别
<nav class="navbar navbar-default" role="navigation">
    <div class="container">
    <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target: "#nav-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar" style="color: #fff;"></span>
            <span class="icon-bar" style="color: #fff;"></span>
            <span class="icon-bar" style="color: #fff;"></span></button></div>
        <div class="navbar-collapse collapse" id="nav-collapse">
            <ul class="nav navbar-nav">
                <li class="active"><a href="/index.html">Home</a></li>
                <li class="dropdown">
                    <a class="dropdown-toggle" data-toggle="dropdown" href="#">Products <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li><a href="#">Plasmid DNA</a></li>    
                            <li><a href="#">DNA & RNA Clean-Up</a></li>
                            <li><a href="#">Genomic DNA</a></li>
                            <li><a href="#">RNA</a></li>
                            <li><a href="#">PCR Reagents</a></li>
                            <li><a href="#">Electrophoresis</a></li>
                            <li><a href="#">Kit Components</a></li></ul></li>
                    <li><a href="http://www.omegabioservices.com">Services</a></li>
                    <li class="dropdown">
                    <a class="dropdown-toggle" data-toggle="dropdown" href="#">Support <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li><a href="faq.html">FAQ</a></li>    
                            <li><a href="#">Brochures</a></li>
                            <li><a href="#">App Notes</a></li></ul></li>
                    <li><a href="distributors.html">Distributors</a></li>
                    <li><a href="contact.html">Contact Us</a></li>
                    <li class="dropdown">
                    <a class="dropdown-toggle" data-toggle="dropdown" href="#">About Us<span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li><a href="company.html">Company</a></li>    
                            <li><a href="#">Why Omega?</a></li>
                            <li><a href="jobs.html">Careers</a></li></ul></li></ul>
                             </ul></div></div></nav>       

RegistryKey curUser = Registry.CurrentUser;

感谢。

1 个答案:

答案 0 :(得分:2)

我会说他们几乎是一样的。 Registry.CurrentUser只是一条捷径。 看https://github.com/dotnet/corefx/tree/master/src/Microsoft.Win32.Registry/src/Microsoft/Win32

您可以看到Registry.CurrentUser的实现方式如下:

RegistryKey.GetBaseKey(RegistryKey.HKEY_CURRENT_USER);

RegistryKey.GetBaseKey是这样的:

internal static RegistryKey GetBaseKey(IntPtr hKey)
{
   return GetBaseKey(hKey, RegistryView.Default);
}

Registry.OpenBaseKey也使用GetBaseKey,如下所示:

public static RegistryKey OpenBaseKey(RegistryHive hKey, RegistryView view)
{
   ValidateKeyView(view);
   return GetBaseKey((IntPtr)((int)hKey), view);
}

我认为RegistryView.DefaultEnvironment.Is64BitOperatingSystem ? RegistryView.Registry64 : RegistryView.Registry32

几乎完全相同