【C#】读取注册表

来源:互联网 发布:小米扫地机器人 算法 编辑:程序博客网 时间:2024/05/21 08:01

首先需要判断是否为64位操作系统,64位操作系统运行Build32位程序的话需要在注册表WOW6432根节点下读取注册表内容,32位则直接在SOFTWARE下面读取即可

 

        //判断当前是64位系统还是32位系统,读取注册表时使用的是不一样的节点        [DllImport("kernel32.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)]        [return: MarshalAs(UnmanagedType.Bool)]        public static extern bool IsWow64Process([In] IntPtr hProcess, [Out] out bool lpSystemInfo);        private static bool Is64Bit()        {            bool retVal;            IsWow64Process(Process.GetCurrentProcess().Handle, out retVal);            return retVal;        }        //读取注册表        private void GetRegedit()        {            string sKeyAddress = (Is64Bit()) ? @"SOFTWARE\WOW6432Node\XXX\Application" : @"SOFTWARE\XXX\Application";            RegistryKey regkey = Registry.LocalMachine.OpenSubKey(@sKeyAddress);            string[] sNodeName = regkey.GetValueNames();            //IP            string sSocketIP = regkey.GetValue("SocketIPTeller").ToString();            //Port            string sSocketPort = regkey.GetValue("SocketPORT_Audio").ToString();        }


 

0 0