|
本帖最后由 pp25729391 于 2013-3-13 18:05 编辑
模块版本:(3.33)
所用系统:(:XP32位、Win7 32位)
命令名称:系统_设置为默认浏览器()
BUG描述:不起作用
我的联系QQ:314356964
发帖子四个小时后我发现这对对搜狗浏览器没有作用,只对360或2345这样的浏览器起作用,也是搜狗太流氓了!
所有我又更新了一下
发现这个功能没有作用,所以看了一下源码,发现了一些问题,所以我写了一个设置IE为默认浏览器
希望下个版本中修正这个功能
功能失效原因分析
写注册项 (1, “htmlfile\shell\”, “open”)
如果是IE就把shell的值改为open那么如果是装有360等浏览器的话会把open下的command的值改掉,到时候打开的还是360
再有360等浏览器还会改变像HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.htm\UserChoice这些注册表位置,让系统不定义到HKEY_CLASSES_ROOT\htmlfile\shell\这个地方打开浏览器.
本人通过不断对比重新写了一个,也不知道对不对,发出来希望大家给点意见,也希望精易模块修复这个功能
忘了说了,下面用到了精易模块的注册表操作,和系统_取操作系统类别1 ()这两个功能,当然大家可以不用,改写一下,不过我的程序已经用了精易模块了,所有我就这样写了!
系统类别 = 系统_取操作系统类别1 ()
.版本 2
.子程序 设IE为默认浏览器, , , 把IE设置成默认浏览器
.如果真 (系统类别 = 5)
注册表操作.写字符串值 (“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0002DF01-0000-0000-C000-000000000046}\LocalServer32”, “”, “C:\Program Files\Internet Explorer\iexplore.exe”)
注册表操作.写字符串值 (“HKEY_CURRENT_USER\Software\Clients\StartMenuInternet”, “”, “IEXPLORE.EXE”)
注册表操作.写字符串值 (“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.htm\UserChoice”, “Progid”, “IE.AssocFile.HTM”)
注册表操作.写字符串值 (“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.html\UserChoice”, “Progid”, “IE.AssocFile.HTM”)
注册表操作.写字符串值 (“HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\ftp\UserChoice”, “Progid”, “IE.FTP”)
注册表操作.写字符串值 (“HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice”, “Progid”, “IE.HTTP”)
注册表操作.写字符串值 (“HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice”, “Progid”, “IE.HTTPS”)
注册表操作.写字符串值 (“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.URL\UserChoice”, “Progid”, “IE.AssocFile.URL”)
注册表操作.写字符串值 (“HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\MIMEAssociations\message/rfc822\UserChoice”, “Progid”, “IE.message/rfc822”)
注册表操作.写字符串值 (“HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\MIMEAssociations\text/html\UserChoice”, “Progid”, “IE.text/html”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\IE.AssocFile.HTM\shell”, “”, “open”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\IE.FTP\shell”, “”, “open”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\IE.HTTP\shell”, “”, “open”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\IE.HTTPS\shell”, “”, “open”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\IE.AssocFile.URL\shell”, “”, “open”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\IE.message/rfc822\shell”, “”, “open”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\IE.text/html\shell”, “”, “open”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\IE.AssocFile.HTM\shell\open\command”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\IE.FTP\shell\open\command”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\IE.HTTP\shell\open\command”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\IE.HTTPS\shell\open\command”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\IE.AssocFile.URL\shell\open\command”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOTIE.message/rfc822\shell\open\command”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\IE.text/html\shell\open\command”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\http\shell”, “”, “open”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\http\shell\open\command”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\htmlfile\shell”, “”, “open”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\htmlfile\shell\open\command”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\https\shell”, “”, “open”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\https\shell\open\command”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\InternetShortcut\shell”, “”, “open”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\InternetShortcut\shell\open\command”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\mhtmlfile\shell”, “”, “open”)
注册表操作.写字符串值 (“HKEY_CLASSES_ROOT\mhtmlfile\shell\open\command”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
.如果真结束
.如果真 (系统类别 = 2)
注册表操作.写字符串值 (“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.htm”, “”, “htmlfile”)
注册表操作.写字符串值 (“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.html”, “”, “htmlfile”)
注册表操作.写字符串值 (“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.mht”, “”, “mhtmlfile”)
注册表操作.写字符串值 (“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.mhtml”, “”, “mhtmlfile”)
注册表操作.写字符串值 (“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0002DF01-0000-0000-C000-000000000046}\LocalServer32”, “”, “C:\Program Files\Internet Explorer\IEXPLORE.EXE”)
注册表操作.写字符串值 (“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\htmlfile\shell”, “”, “opennew”)
注册表操作.写字符串值 (“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\htmlfile\shell\open\command”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
注册表操作.写字符串值 (“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\HTTP\shell”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
注册表操作.写字符串值 (“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\https\shell”, “”, “open”)
注册表操作.写字符串值 (“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\https\shell\open\command]”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
注册表操作.写字符串值 (“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\InternetShortcut\shell\open\command”, “”, “C:\WINDOWS\system32\rundll32.exe C:\WINDOWS\system32\ieframe.dll ,OpenURL %l”)
注册表操作.写字符串值 (“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mhtmlfile\shell”, “”, “opennew”)
注册表操作.写字符串值 (“HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mhtmlfile\shell\open\command”, “”, #引号 + “C:\Program Files\Internet Explorer\iexplore.exe” + #引号 + “-nohome”)
注册表操作.写字符串值 (“HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet”, “”, “IEXPLORE.EXE”)
注册表操作.写字符串值 (“HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main”, “Check_Associations”, “yes”)
|
|