Open Internet Explorer from Chrome using a protocol handler (ie:url)
Create a Protocol Handler
save this script as internet-explorer-protocol-handler.reg
:
Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\Classes\ie]"URL Protocol"="\"\""@="\"URL:IE Protocol\""[HKEY_CURRENT_USER\Software\Classes\ie\DefaultIcon]@="\"explorer.exe,1\""[HKEY_CURRENT_USER\Software\Classes\ie\shell][HKEY_CURRENT_USER\Software\Classes\ie\shell\open][HKEY_CURRENT_USER\Software\Classes\ie\shell\open\command]@="cmd /k set myvar=%1 & call set myvar=%%myvar:ie:=%% & call \"C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe\" %%myvar%% & exit /B"
Then run the script to install the keys in your registry. It will look like this:
Now links that use the ie:
protocol will open in Internet Explorer.
<a href="ie:https://www.google.com/">Google</a>
After few tests, I move to another strategy.I'm targetin an intermediate batch script instead.And the batch split the protocol and the url, and open IE.
Here is the batch:
echo %1%set var=%1set var=%var:~4,-1%Start "" "%ProgramFiles%\Internet Explorer\iexplore.exe" %var%
Here is a solution that should solve the problem with extended url's that contain parameters and special characters (&, % etc.)
Replace the command in reg file with this:
powershell -windowstyle hidden -command "& {$Url = '%1' ; $Url = $Url -replace 'ie:',''; $IE=new-object -com internetexplorer.application ; $IE.navigate2($Url) ; $IE.visible=$true }"