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
  • 相关阅读:
    用servlet来实现验证码的功能
    Sqlite3 数据库
    xml解析
    Android .9文件
    AsyncTask
    Looper Handler
    URLConnection
    单例模式
    Httpclient访问网络
    json 解析
  • 原文地址:https://www.cnblogs.com/oec2003/p/2741956.html
Copyright © 2011-2022 走看看