CAD .net开发-从注册表中获取CAD安装路径

32位系统:

RegistryKey keyLocalMachine = Registry.LocalMachine;

64位系统:

Microsoft.Win32.RegistryKey keyLocalMachine = Microsoft.Win32.RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, Microsoft.Win32.RegistryView.Registry64);

public static List<string> GetAutoCADLocations()
        {
            //用于存储系统中安装的AutoCAD路径列表
            List<string> locations = new List<string>();
            // 获取HKEY_LOCAL_MACHINE键
            //RegistryKey keyLocalMachine = Registry.LocalMachine;
            RegistryKey keyLocalMachine = Microsoft.Win32.RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, Microsoft.Win32.RegistryView.Registry64);
            // 打开AutoCAD所属的注册表键:HKEY_LOCAL_MACHINE\Software\Autodesk\AutoCAD
            RegistryKey keyAutoCAD = keyLocalMachine.OpenSubKey("Software\\Autodesk\\AutoCAD");
            //获得表示系统中安装的各版本的AutoCAD注册表键
            string[] cadVersions = keyAutoCAD.GetSubKeyNames();
            foreach (string cadVersion in cadVersions)
            {
                //打开特定版本的AutoCAD注册表键
                RegistryKey keyCADVersion = keyAutoCAD.OpenSubKey(cadVersion);
                //获取表示各语言版本的AutoCAD注册表键值
                string[] cadNames = keyCADVersion.GetSubKeyNames();
                foreach (string cadName in cadNames)
                {
                    if (cadName.EndsWith("804"))//中文版本
                    {
                        //打开中文版本的AutoCAD所属的注册表键
                        RegistryKey keyCADName = keyCADVersion.OpenSubKey(cadName);
                        //获取AutoCAD的安装路径
                        if (keyCADName.GetValue("Location") != null)
                        {
                            string location = keyCADName.GetValue("Location").ToString();
                            locations.Add(location);//将路径添加到列表中
                        }
                        
                    }
                }
            }
            return locations;//返回系统中安装的AutoCAD路径列表
        }

参考:《AutoCAD VBA&VB.NET开发基础与实例教程》

参考:https://zhidao.baidu.com/question/551880021030941452.html

如有转载,请注明出处。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农土木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值