Csharp/C Sharp/Development Class/System Registry

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Get value from Registry

/*
C# Programming Tips & Techniques
by Charles Wright, Kris Jamsa
Publisher: Osborne/McGraw-Hill (December 28, 2001)
ISBN: 0072193794
*/

namespace nsRegKey
{
    using System;
    using Microsoft.Win32;
    public class RegKeyclsMain
    {
        static public void Main ()
        {
            int x;
            string RegID =
                    "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\";
            for (x = 0; x < 4; ++x)
            {
                string ValueID = RegID + x;
                RegistryKey key = Registry.LocalMachine;
                Object cpuType;
                object cpuSpeed;
                key = key.OpenSubKey(ValueID);
                if (key == null)
                    break;
                cpuType = key.GetValue("VendorIdentifier");
                cpuSpeed = key.GetValue("~MHz");
                Console.WriteLine ("Processor {0} is {1} {2}",
                                   x,
                                   cpuSpeed == null ? "speed unknown"
                                      : cpuSpeed.ToString() + " MHz",
                                   cpuType == null ? "type unknown"
                                      : cpuType.ToString());
                key.Close ();
            }
            Console.WriteLine ("\r\nThis computer has {0} {1}",
                               x, x == 1 ? "processor" : "processors");
        }
    }
}