如何确定Windows默认浏览器(在开始菜单顶部)

pgvzfuti  于 2022-11-26  发布在  Windows
关注(0)|答案(4)|浏览(150)

如何确定Windows默认浏览器(位于开始菜单顶部)?
我正在使用VB6,但可能会适应其他代码没有问题。
Stack Overflow上也有类似的问题,但它们似乎提供了不正确的答案。
例如,注册表项HKEY_LOCAL_MACHINE\Software\Clients\StartMenuInternet\列出了我的PC上的Internet Explorer和Firefox。
我也无法获得.html关联,因为HTML文件与IE关联,但Firefox是我的默认浏览器。
请注意,我并不想真正打开浏览器,只想获得它的名称。

twh00eeo

twh00eeo1#

注册表查询HKEY_CLASSES_ROOT\html文件\shell\打开\命令/ve
您将得到类似于
如果您有任何问题,请与我们联系。如果您有问题,请与我们联系。

6vl6ewon

6vl6ewon2#

  • 单击.html文件时,打开该文件的浏览器是注册了.html扩展名的浏览器。
  • 当你打开一个http://链接时(例如,在“开始-〉运行”框中键入),打开的浏览器是注册了HTTP协议的浏览器(尽管通常在两种情况下都是同一个浏览器)。
  • “开始”菜单中显示的任何内容都与此无关。

HKEY_CURRENT_USER\Software\Classes\http\shell\open\command\(Default)是当前用户的HTTP协议处理程序(表示“默认浏览器”;注意:这与.html默认处理程序不同!)。
但是,可以在“开始”菜单顶部使用不同的浏览器,而不更改默认设置。仅供参考,“开始”菜单中的浏览器可执行文件名存储在HKEY_CURRENT_USER\Software\Clients\StartMenuInternet\(Default)中。

lb3vh1jj

lb3vh1jj3#

在Windows 7 x64中测试:这是一个两步的过程。用户的默认浏览器位于键中:

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.html\UserChoice\Progid

通用浏览器密钥名称:

  • IE:IE.关联文件. HTM
  • 火狐:火狐HTML
  • Chrome浏览器:Chrome HTML
  • 歌剧:歌剧. HTML

用上面的值之一替换下面的<KEY NAME>以查找可执行文件:

HKCR\<KEY NAME>\shell\open\command

显示默认浏览器路径和可执行文件的自动热键脚本:

MsgBox % "Default browser: " Browser()

Browser()
{
    ; Find the Registry key name for the default browser
    RegRead, BrowserKeyName, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.html\UserChoice, Progid

    ; Find the executable command associated with the above Registry key
    RegRead, BrowserFullCommand, HKEY_CLASSES_ROOT, %BrowserKeyName%\shell\open\command

    ; The above RegRead will return the path and executable name of the brower contained within qoutes and optional parameters
    ; We only want the text contained inside the first set of quotes which is the path and executable
    ; Find the ending quote position (we know the beginning quote is in position 0 so start searching at position 1)
    StringGetPos, pos, BrowserFullCommand, ",,1

    ; Decrement by one for the StringMid to work correctly
    pos := --pos

    ; Extract and return the path and executable of the browser
    StringMid, BrowserPathandEXE, BrowserFullCommand, 2, %pos%
    Return BrowserPathandEXE
}
oknrviil

oknrviil4#

默认浏览器通常是根据每个用户设置的。你试过HKEY_CURRENT_USER吗?在我的下面正确显示。

相关问题