作者virdust2003 (XDXDXDXDXDXD)
看板C_Sharp
标题Re: [问题] 更改预设浏览器
时间Sat Apr 28 08:23:39 2012
我的关键字
default browser registry windows 7 key
http://newoldthing.wordpress.com/2007/03/23/how-does-your-browsers-know-that-its-not-the-default-browser/
看起来是在这里没错哩
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice
我的显示为 ChromeHTML
然後就会导到HKEY_CLASSES_ROOT\ChromeHTML 去执行了。
※ 引述《motai (啥昵称??)》之铭言:
: 我作业系统是Win7 (64位元)
: 网路上找的资讯都是说在以下的注册表位置
: HKEY_CLASSES_ROOT\http\shell\open\command
: 里的value值设为
: C:\Program Files\Internet Explorer\iexplore.exe
: 但我用Google浏览器跟IE交互设定预设浏览器
: 那value值也不会改变..(预设浏览器有变)
: 後来在HKEY_USERS\S-1-5-21-3076430924-96...(一长串)\...\.....
: 下发现有个值是存预设浏览器的名称
: 会随着改预设浏览器而跟着变
: 但搜寻Internet Explorer\iexplore.exe或Google的会搜出一大堆
: 不知道哪个才是存预设浏览器路径....
: 请问有谁知道怎麽找到她存路径的地方呢?
: ------------------------------------------------
: 以下是程式码:
: //判断路径上的Program Files是否要加"(x86)"
: RegistryKey key = Registry.LocalMachine.OpenSubKey("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
: string CPUTag = key.GetValue("Identifier").ToString();
: string mainKey = @"http\shell\open\command"; //预设浏览器路径的注册位置
: string nameKey = @"http\shell\open\ddeexec\Application"; //预设浏览器名称的注册位置
: string IEPath;
: if(CPUTag.Substring(5,2)=="64")
: IEPath = @"C:\Program Files (x86)\Internet Explorer\iexplore.exe";
: else
: IEPath = @"C:\Program Files\Internet Explorer\iexplore.exe";
: bool result = false;
: try
: {
: string value = string.Format("\"{0}\" -- \"%1\"", IEPath);
: RegistryKey regKey = Registry.ClassesRoot.OpenSubKey(mainKey, true);
: regKey.SetValue("", value);
: regKey.Close();
: regKey = Registry.ClassesRoot.OpenSubKey(nameKey, true);
: regKey.SetValue("", "IExplore");
: regKey.Close();
: result = true;
: MessageBox.Show("预设浏览器已设为IE浏览器!","设定");
: }
: catch
: {
: MessageBox.Show("设定预设浏览器失败。!", "设定");
: }
: return result;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 113.196.144.159