Путь для ShellExecute из IExplorer.exe
Я хочу использовать ShellExecute iexplore.exe (с именем html-файла в качестве аргумента командной строки), даже если iexplore не связан с html-файлами.
Предполагая, что пользователь не удалил его, насколько безопасно это сделать, не указав путь к программе. Это работает на моем компьютере, то есть путь поиска Windows по умолчанию содержит путь к iexplore.exe. Разумно ли ожидать этого на всех последних машинах с Windows (XP+)?
Есть ли более безопасный способ ShellExecute iexplore.exe?
(Delphi XE2)
(Хотя этот вопрос стоит отдельно, я дам пользователю возможность запустить IE в контексте этого SO-вопроса, который я задал в то же время: Определить Chrome как браузер, связанный с HTML-файлами в Windows)
1 ответ
"iexplore.exe" отсутствует в пути поиска по умолчанию. Это путь зарегистрирован в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE
ключ. Если этот ключ по какой-либо причине отсутствует или указывает на неправильное местоположение, ваш подход не будет работать. Я думаю, что вероятность этого будет довольно низкой.
В качестве альтернативы вы можете использовать объект Internet Explorer. С неработающим реестром или чем-то подобным это также может не получиться, но для меня это звучит более официально.
ie := CreateOleObject('InternetExplorer.Application');
ie.Visible := True;
ie.Navigate('http://example.com');
Ссылка на объект IE здесь.