Как Windows находит путь к исполняемым файлам, таким как iexplore.exe?

Если я ввожу iexplore в окно запуска, оно запускает Internet Explorer. Я предполагаю, что это означает, что C:\Program Files\Internet Explorer находится в моей переменной окружения пути, но это не так. Я проверил мои пользовательские и системные переменные. Так как Windows узнает, где искать подобные вещи?

Полагаю, я должен упомянуть, что сейчас использую Windows 8.1.

2 ответа

Решение

Компьютер использовал регистрацию приложений в этой программе. Чтобы увидеть список таких исполняемых файлов, проверьте HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

например:

reg QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths"

Это показывает исполняемые файлы. Чтобы показать больше информации о тогда, используйте:

reg QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths" /s

На самом деле, это только одно из мест, которые проверяются на наличие исполняемых файлов. На странице MSDN регистрации приложений есть раздел "Поиск исполняемого файла приложения", в котором упоминается об этом, а также о некоторых других местах, которые могут использоваться функцией "ShellExecuteEx". Эта функция используется некоторым программным кодом, включая диалоговое окно "Выполнить", но может не совпадать с тем, что используется в традиционной командной строке, поэтому вы можете получить разные результаты для конкретной команды (в зависимости от того, где вы пытаетесь запустить команда от).

Вы не можете запустить Internet Explorer из командной строки или PowerShell, как и другие программы, потому что его исполняемый файл не находится под C:\Windows\System32, Переменная %SystemRoot%ссылается на путь C:\Windows\System32, и где такие вещи, как Run и Powershell, выполняют программы по умолчанию, потому что их пути начинаются там, если не указано иное. Исполняемые файлы Internet Explorer находятся в:

C:\Program Files\Internet Explorer\iexplore.exe

для 64-битных

а также

C:\Program Files (x86)\Internet Explorer\iexplore.exe

для 32-битных

Вы можете запустить Internet Explorer с указанными выше путями или поместить их в командный файл:

%SystemRoot%\explorer.exe "C:\Program Files\Internet Explorer\iexplore.exe"

а также:

%SystemRoot%\explorer.exe "C:\Program Files(x86)\Internet Explorer\iexplore.exe"

Надеюсь это поможет.

Другие вопросы по тегам