自动化测试之读写64位操作系统的注册表

发表于:2014-2-11 11:36

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:肖佳    来源:51Testing软件测试网采编

分享:
  32位操作系统和64位操作系统注册表的区别
  上面的代码在32位的操作系统上运行没问题, 但是在64位操作系统中就不行了。
  应用软件也有32位和64位之分。  在64位的操作系统中, 可以运行32位的应用程序和64位的应用程序。
  如果在64位操作系统中安装32位的应用程序, 会安装到C:\Program Files(x86)\下。 启动任务管理器,你会看到32位的程序的进程名字后会带一个 ”*32“, 如下图:
  注意: 64位操作系统中:
  64位的程序的注册表还在: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer
  32位的程序的注册表而是在: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer
  C#程序访问64位操作系统的注册表
  C#的程序都是32位的,访问注册表的时候,会访问HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\, 而访问不到HKEY_LOCAL_MACHINE\SOFTWARE\
  .NET 3.5以前 C#程序需要通过Win32API函数(要写几百行代码)才能访问64位操作系统的注册表。
  .NET 4.0 后访问64位操作系统的注册表很简单了。
static void Main(string[] args)
{
// 修改64位操作系统的注册表
// 修改IE的首页
// 通过RegistryView 来指定是64位操作系统还是32位
RegistryKey localKey = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.CurrentUser, RegistryView.Registry64);
localKey = localKey.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer\Main", true);
if (localKey != null)
{
localKey.SetValue("Start Page", "http://www.cnblogs.com");
}
}
22/2<12
价值129的会员专享直播免费赠送,添加微信领取听课名额哦~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号