zoukankan      html  css  js  c++  java
  • VS2010和VS2008使用不同编译方式在64位机器生成注册表对比

    最近写一个小工具用到了使用C#来进行注册表的操作,使用C#来进行注册表的操作需要引入命名空间Microsoft.Win32,关于操作注册表的帮助类可以参考RegHelper.cs。下面分别使用VS2010和VS2008使用Any CPU、X64、X86和Itanium进行编译,运行在32位机器和64位机器进行对比。看下面一段代码:

    string subkey = @"software\FW\UserInfo";
    RegHelper reg = new RegHelper(subkey, RegDomain.LocalMachine);
    reg.CreateSubKey(subkey);
    Console.ReadLine();

    上面代码的本意是在注册表中创建HKEY_LOCAL_MACHINE\SOFTWARE\FW\UserInfo 节点,在32位机器中没有什么问题,可以正常的生产节点,但在64位机器上,不同的VS版本,使用不同的编译模式,会产生不一样的结果。

    项目类型 VS版本 目标平台 机器位数 节点路径
    控制台项目 VS2008 Any CPU 64 HKEY_LOCAL_MACHINE\SOFTWARE\FW\UserInfo
    X86 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\FW\UserInfo
    X64 HKEY_LOCAL_MACHINE\SOFTWARE\FW\UserInfo
    VS2010 Any CPU HKEY_LOCAL_MACHINE\SOFTWARE\FW\UserInfo
    X86 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\FW\UserInfo
    X64 HKEY_LOCAL_MACHINE\SOFTWARE\FW\UserInfo
    网站项目 VS2008 Any CPU HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\FW\UserInfo
    X86 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\FW\UserInfo
    X64 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\FW\UserInfo
    VS2010 Any CPU HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\FW\UserInfo
    X86 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\FW\UserInfo
    X64 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\FW\UserInfo
    WinForm项目 VS2008 Any CPU HKEY_LOCAL_MACHINE\SOFTWARE\FW\UserInfo
    X86 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\FW\UserInfo
    X64 HKEY_LOCAL_MACHINE\SOFTWARE\FW\UserInfo
    VS2010 Any CPU HKEY_LOCAL_MACHINE\SOFTWARE\FW\UserInfo
    X86 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\FW\UserInfo
    X64 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\FW\UserInfo
  • 相关阅读:
    NLB网路负载均衡管理器详解
    Nginx配置详解
    Nginx代理功能与负载均衡详解
    .Net使用RabbitMQ详解
    说说面向服务的体系架构SOA
    .Net中的RealProxy实现AOP
    搭建自己的Nuget服务器
    VMware虚拟网络连接模式详解(NAT,Bridged,Host-only)
    JsonUtils
    Linux三剑客
  • 原文地址:https://www.cnblogs.com/oec2003/p/2741956.html
Copyright © 2011-2022 走看看