C# 32位程序在64位系统下注册表操作_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > C# 32位程序在64位系统下注册表操作

C# 32位程序在64位系统下注册表操作

 2016/10/26 5:31:15  堕落天才  程序员俱乐部  我要评论(0)
  • 摘要:在64位的Windows操作系统中,为了兼容32位程序的运行,64位的Windows操作系统采用重定向机制。目的是为了能让32位程序在64位的操作系统不仅能操作关键文件文夹和关键的注册表并且又要避免与64位程序冲突相关资料请查看32位程序在64位系统下运行的重定向机制下面是以获取操作系统安装密匙KEY的案例:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem
  • 标签:程序 C# 操作 注册表

 

  在64位的Windows操作系统中,为了兼容32位程序的运行,64位的Windows操作系统采用重定向机制。目的是为了能让32位程序在64位的操作系统不仅能操作关键文件文夹和关键的注册表并且又要避免与64位程序冲突

相关资料请查看32位程序在64位系统下运行的重定向机制

 

下面是以获取操作系统安装密匙KEY的案例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Win32;

namespace ReadProductKey
{
    class Program
    {
        static void Main(string[] args)
        {
            string BackupProductKeyDefault;
            RegistryKey localKey = null;
            try
            {
          //判断操作系统版本(64位\32位)打开注册表项 localKey
= RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, Environment.Is64BitOperatingSystem?RegistryView.Registry64: RegistryView.Registry32);
          //得到注册表键值 BackupProductKeyDefault
= localKey.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform").GetValue("BackupProductKeyDefault", "").ToString(); Console.WriteLine(BackupProductKeyDefault); Console.ReadLine(); } catch (Exception ex) { } } } }

程序执行界面:

注意:如果以 RegistryView.Registry32打开注册表项,并编译为32位版本的程序是不能获取系统关键注册表键值的

原文地址:http://www.cnblogs.com/iamlucky/p/5998510.html

上一篇: PHP服务器配置之加载硬盘 下一篇: 没有下一篇了!
发表评论
用户名: 匿名