获取本机浏览器列表

对于一些标准的浏览器(有国内的么?自然是没有,谢谢),他们都会将自己的信息保存到StartMenuInternet这个注册表项下面,
里面提供了丰富多彩的内容,基本上你想要的,他都能告诉你。需要注意的是,在64位系统中,会有两个位置可以找到。
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Clients\StartMenuInternet
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet
public static void BrowsersData()
		{
			RegistryKey browsersKey;
			browsersKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\WOW6432Node\Clients\StartMenuInternet");
			if (browsersKey == null)
				browsersKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Clients\StartMenuInternet");
			using (browsersKey)
			{
				string[] subKeys = browsersKey.GetSubKeyNames();
				string locationPath = @"\shell\open\command";
				foreach (string key in subKeys)
				{
					RegistryKey appLocationKey = browsersKey.OpenSubKey(key + locationPath);
					Console.WriteLine("{0}:{1}", key, (string)appLocationKey.GetValue(null));
					appLocationKey.Dispose();
				}
			}
		}

先说明,上述方法对国内绝大部分浏览器无效。国内浏览器不知道是出于何种原因,均没有对相应的注册表项进行添加。难道是不屑与国际标准为伍的节奏么?

你可能感兴趣的:(C#,Winform,操作系统,.Net资料)