Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.
Въпроса
Super Reader mt025 иска да знае как диалоговия прозорец за изпълнение знае къде са приложенията, които не са в системата на Windows PATH:
As a power user, I frequently use the Run Dialog. I can understand why the following commands work, as they are in the PATH environment variable.
- mspaint
- diskmgmt.msc
- explorer
These commands also work in CMD.
The commands below work in the Run Dialog, but they are not in the PATH environment variable, and they do not work in CMD.
- firefox
- winword
- iexplore
How does Run know where these files are?
Отговорът
Помощникът на SuperUser w32sh има отговорът за нас:
When you execute a command from the Run Dialog, the system looks at the App Paths registry keys here:
HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionApp Paths
and
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionApp Paths
Example
HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionApp Pathsfilezilla.exe
(Default) value data has the full path to the executable. If it is not found, it looks at each folder included in the PATH, whereas CMD (the Command Prompt) does not reference these registry keys, it only searches the PATH.
Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.