zoukankan      html  css  js  c++  java
  • win7 64bit+vs2010 操作注册表

    注册表五个根键 

    HKEY_CLASSES_ROOT——管理文件系统 
    HKEY_LOCAL_MACHINE——管理当前系统硬件配置 
    HKEY_LOCAL_USER——管理系统当前用户配置 
    HKEY_USERS——管理系统的用户信息 
    HKEY_CURRENT_CONFIG——管理当前用户的系统配置 

    在HKEY_LOCAL_MACHINESOFTWARE 目录下新建子键并创建REG_DWORD (32位数值),示例代码:

    #include <stdio.h>
    #include <Windows.h>
    #include <tchar.h>
    int _tmain(int argc, _TCHAR* argv[])
    {
      HKEY RegHandle;
      DWORD dw;
      HKEY RegOpenHandle;
      DWORD dwYan = 0xff;
      if (ERROR_SUCCESS == RegCreateKeyEx(HKEY_LOCAL_MACHINE, _T("Software\yan"), NULL, 0, REG_OPTION_NON_VOLATILE,
        KEY_ALL_ACCESS, NULL, &RegHandle, &dw))
        printf("RegCreateKeyEx 执行成功
    ");
      else
        printf("RegCreateKeyEx 执行失败
    ");
    
    
      RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("Software\yan"), NULL, KEY_ALL_ACCESS, &RegOpenHandle);
    
      RegSetValueEx(RegOpenHandle, _T("HelloWord"), NULL, REG_DWORD, (const unsigned char *)&dwYan, sizeof(DWORD));
    
      system("pause");
      return 0;
    }

    注册表位置

    Windows7 64bit系统的注册表分32 位注册表项和64位注册表项两部分。

    在64bit系统下,通过regedit中查看到指定路径下的注册表项均为64位注册表项,而32位注册表项被重定位到:HKEY_LOCAL_MACHINESoftwareWOW6432Node。

    应用程序操作注册表的时候也分32bit方式和64bit方式。运行于64bit系统下的32bit应用程序默认操作32位注册表项(即被重定向到WOW6432Node下的子项);而64bit应用程序才是操作的直观子项。

    比如,同在64bit系统下,使用如下代码访问注册表:

    ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("Software\Sobey\MPC "), 0, KEY_ALL_ACCESS, &hKey)

    如果应用程序为32bit子系统,那么实际访问的注册表位置为:HKEY_LOCAL_MACHINESOFTWAREWow6432NodeSobeyMPC(使用regedit工具软件对应的位置);

    而如果应用程序为64bit子系统,那么实际访问的注册表位置将会是:HKEY_LOCAL_MACHINESOFTWARESobeyMPC(使用regedit工具软件对应的位置)。

    我用的是win7 64bit OS + VS2010,RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("Software\yan"), NULL, KEY_ALL_ACCESS | KEY_WOW64_64KEY, &RegOpenHandle);

    添加了 KEY_WOW64_64KEY后还是不能写入到 64bit系统下的原注册表,不知道为什么。

  • 相关阅读:
    EF的Join()和Include()差异性教程
    把sql server 2000的用户表的所有者改成dbo
    HTML5/CSS3开发工具
    原创:分享asp.net伪静态成目录形式iis如何设置
    WCDMA是什么意思?CDMA是什么意思?GSM是什么意思
    FlashDevelop快捷键
    android文章学习 侧滑菜单实现
    网页图片格式
    asp.net日志跟踪方法
    Zabbix分布式监控
  • 原文地址:https://www.cnblogs.com/oversea201405/p/3752057.html
Copyright © 2011-2022 走看看