Поиск и запуск Autodesk AutoCAD

      «AutoCAD» — двух- и трёхмерная система автоматизированного проектирования и черчения, разработанная компанией «Autodesk». В данном примере рассмотрен поиск и запуск программы «AutoCAD» ассоциированной по умолчанию с форматом «*.dwg».
      Ниже представлен листинг метода поиска в реестре пути к исполняемому файлу программы «AutoCAD», ассоциированной по умолчанию с форматом «*.dwg».
public static string GetAutoCADLaunchPath()
{
    Microsoft.Win32.RegistryKey RegistryKeyRoot = 
           Microsoft.Win32.Registry.CurrentUser;
    if (RegistryKeyRoot != null)
    {
        Microsoft.Win32.RegistryKey RegistryKeySoftware = 
            RegistryKeyRoot.OpenSubKey("Software");

        if (RegistryKeySoftware != null)
        {
            Microsoft.Win32.RegistryKey RegistryKeyAutodesk = 
                   RegistryKeySoftware.OpenSubKey("Autodesk");

            if (RegistryKeyAutodesk != null)
            {
                Microsoft.Win32.RegistryKey RegistryKeyDWGCommon = 
              RegistryKeyAutodesk.OpenSubKey("DWGCommon");

                if (RegistryKeyDWGCommon != null)
                {
                    Microsoft.Win32.RegistryKey RegistryKeyApps = 
               RegistryKeyDWGCommon.OpenSubKey("shellex").OpenSubKey("Apps");

                    if (RegistryKeyApps != null)
                    {
                        string GUID = RegistryKeyApps.GetValue("").ToString();
                        string Path = RegistryKeyApps.OpenSubKey(GUID).GetValue("OpenLaunch").ToString();

                        Path = Path.Replace("\"%1\"", "");
                        Path = Path.Replace("\"", "");
                        Path = Path.Trim();

                        return Path;
                    }
                }
            }
        }
    }
    return "";
}
Пример вызова данного метода представлен ниже.
Для консольного приложения:

string AutoCAD = GetAutoCADLaunchPath();
if (AutoCAD.Length != null || AutoCAD.Length > 0)
{
    Console.WriteLine(AutoCAD);
    System.Diagnostics.Process.Start(AutoCAD);
    Console.ReadLine(); 
}
Для Windows Form:
string AutoCAD = GetAutoCADLaunchPath();
if (AutoCAD.Length != null || AutoCAD.Length > 0)
{
    System.Diagnostics.Process.Start(AutoCAD);    
}

Комментариев нет:

Отправить комментарий

Большая просьба, не писать в комментариях всякую ерунду не по теме!