Você pode usar:
reg QUERY HKEY_CLASSES_ROOT\htmlfile\shell\open\command /ve
E você terá algo como:
(Default) REG_SZ "C:\Program Files (x86)\Internet Explorer\iexplore.exe"
Então você pode facilmente analisar isso.
Alguns arquivos ou pastas no Windows têm variáveis de caminho (como% appdata%,% systemroot%,% userprofile%, etc). Existe algo semelhante para obter o navegador padrão?
Por exemplo, pode levar o valor C:\Program Files\Google\Chrome\Application\chrome.exe
se o Google Chrome for o navegador padrão, C:\Program Files\Mozilla Firefox\firefox.exe
se o Firefox for o navegador padrão, C:\Program Files\Internet Explorer\iexplore.exe
se o Internet Explorer for o navegador padrão, etc e sempre tiver o mesmo nome não importa o que.