public static string GetMimeTypeFromWindowsRegistry(string filename) { System.Security.Permissions.RegistryPermission regPerm = new System.Security.Permissions.RegistryPermission(System.Security.Permissions.RegistryPermissionAccess.Read, "\\HKEY_CLASSES_ROOT"); Microsoft.Win32.RegistryKey classesRoot = Microsoft.Win32.Registry.ClassesRoot; FileInfo fi = new FileInfo(filename); string extension = fi.Extension.ToUpper(); Microsoft.Win32.RegistryKey typeKey = classesRoot.OpenSubKey(@"MIME\Database\Content Type"); foreach (string keyname in typeKey.GetSubKeyNames()) { Microsoft.Win32.RegistryKey currentKey = classesRoot.OpenSubKey(@"MIME\Database\Content Type\" + keyname); string currentExtension = (string)currentKey.GetValue("Extension", null); if (!string.IsNullOrEmpty(currentExtension) && currentExtension.ToUpper() == extension) { return(keyname); } } return(string.Empty); }
public string GetCurrentValue() { // @ Review : Should this move in SystemInformation ? if (ieVersion == string.Empty) { System.Security.Permissions.RegistryPermission registryPermission = null; registryPermission = new System.Security.Permissions.RegistryPermission(System.Security.Permissions.RegistryPermissionAccess.Read, "Version"); try { registryPermission.Assert(); using (Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Internet Explorer")) { string fullversion = (string)rk.GetValue("Version"); ieVersion = System.Text.RegularExpressions.Regex.Replace(fullversion, @"(^[^\.]+\.[^\.]+)\..+?$", "$1"); } } finally { System.Security.Permissions.RegistryPermission.RevertAssert(); } } return(ieVersion); }