获取注册表路径或判断是64位还是32位

时间:2022-09-05 09:02:04

获取注册表路径或判断是64位还是32位


RegistryKey rsg = null;                    //声明变量

            string win3264 = "";
            try
            {
                             
                int win = System.IntPtr.Size; //System.IntPtr.Size = 4(32位),= 8 是64位
                if (win == 4)
                {
                    win3264 = "SOFTWARE\\siss\\sisszm\\9.0\\sqlca";
                    this.label1.Text = "32位系统";
                }
                else
                {
                    win3264 = "SOFTWARE\\Wow6432Node\\siss\\sisszm\\9.0\\sqlca";
                    this.label1.Text = "64位系统";
                }
                
                rsg = Registry.LocalMachine.OpenSubKey(win3264, true); //true表可修改          
                if (rsg.GetValue("DataBase") != null)  //如果值不为空
                {
                    this.textBox1.Text = rsg.GetValue("DataBase").ToString(); //得到 DataBase的注册表值                                                          //读取值
                }
                else
                {
                    this.textBox1.Text = "你还没装门店软件";


                }               
                rsg.Close();
            }
            catch (Exception ex)  //捕获异常
            {
                MessageBox.Show("注册表路径:" + win3264+ " \n\r系统错误:\n\r" + ex.Message+ "\n\r请将错误截图发送给开发者", "获取注册表异常,您还没装软件");            //显示异常信息                                }
                return;
            }
            finally
            {
                 
            }

//如发生异常或者路径不存在,就会出现如下
获取注册表路径或判断是64位还是32位