«AutoCAD» — двух- и трёхмерная система автоматизированного проектирования и черчения, разработанная компанией «Autodesk». В данном примере рассмотрен поиск и запуск программы «AutoCAD» ассоциированной по умолчанию с форматом «*.dwg».
Ниже представлен листинг метода поиска в реестре пути к исполняемому файлу программы «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);
}



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