对于一些标准的浏览器(有国内的么?自然是没有,谢谢),他们都会将自己的信息保存到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();
}
}
}
先说明,上述方法对国内绝大部分浏览器无效。国内浏览器不知道是出于何种原因,均没有对相应的注册表项进行添加。难道是不屑与国际标准为伍的节奏么?