在基于ENVI的二次开发中,要提供idl.dll 的路径。获取该路径需要获取idl的安装目录,一般在ENVI安装的根目录下。为了获取ENVI的安装目录,读取注册表信息。
public static string IDLBinPath { get { using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall", false)) { if (key != null)//判断对象存在 { foreach (string keyName in key.GetSubKeyNames())//遍历子项名称的字符串数组 { using (RegistryKey key2 = key.OpenSubKey(keyName, false))//遍历子项节点 { if (key2 != null) { string softwareName = key2.GetValue("DisplayName", "").ToString();//获取软件名 string installLocation = key2.GetValue("InstallLocation", "").ToString();//获取安装路径 if (!string.IsNullOrEmpty(installLocation)) { if (softwareName == "ENVI 4.7") { IDLpathrout = installLocation + "IDL71\\bin\\bin.x86\\idl.dll"; } } } } } } } return IDLpathrout; }