“运行”对话框提示查找 explorer.exe 目录位置在哪里?

“运行”对话框提示查找 explorer.exe 目录位置在哪里?

作为延续问题,有人能解释一下Run对话窗口从哪里获取explorer.exe与离散目录名称匹配的目录位置吗,例如“文档”、“视频”、“下载”等?不要与 % 混淆小路% 或这些目录的库版本。我假设它会在注册表的某个地方,类似于app path有关的),但我自己似乎找不到它。

答案1

它并不专门查找目录位置——它实际上只是使用相同的 %path% 查找过程来全部不包含冒号或反斜杠的输入。

首先在您的用户配置文件目录,称为%UserProfile%1,自 Vista 以来通常位于C:\Users\<name>。您可以运行.以快速打开目录本身。

这不仅限于内置目录;运行对话框将打开当前目录中任何有效文件名(包括文件)。我相信它只是在底层使用了 ShellExecuteEx(),这是标准的“像 Explorer 一样打开此路径”Win32 函数。

如果当前目录中没有匹配项,则运行对话框将在 %path% 中搜索匹配项。例如,输入“system32”将打开“C:\Windows\System32”,这与输入“notepad”将打开“C:\Windows\notepad.exe”的方式完全相同。一个是目录,另一个是可执行文件并不重要;运行对话框对两者都使用默认的“shell open”。


1不要与 混淆%HomeDrive%%HomePath%。如果您的帐户经过自定义,主位置与用户配置文件位置不同,则您的程序将以“主”作为其初始目录启动,但运行对话框仍将使用“用户配置文件”目录。

相关内容