需要知道使用者的 default browser 的話,可以讀取 \SOFTWARE\Clients\StartMenuInternet 這個 registry key。如果是一台全新的 windows,這時候 HKEYCURRENTUSER 應該沒有這個值,在 HKEYLOCALMACHINE 下預設是 IEXPLORE.EXE。

隨著安裝 Firefox 或是 Chrome,會在 HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet 下增加 subkey,每個 subkey 的 shell\open\command 就會是指到瀏覽器的路徑。

使用者自己更改了 default browser 的話,就會在 HKEYCURRENTUSER 下面新增 \SOFTWARE\Clients\StartMenuInternet,並且寫入新的 browser value。

不過這個 registry 在 Win10 上有點問題,如果設定 Edge 為 default browser 但是這個 registry key 還會是寫 IEXPLORE.EXE。