![Windows 运行命令位于哪里?](https://linux22.com/image/1517799/Windows%20%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E4%BD%8D%E4%BA%8E%E5%93%AA%E9%87%8C%EF%BC%9F.png)
Windows 运行对话框位于哪里?我打开它并检查了任务管理器,但它只显示为文件资源管理器。我尝试显示命令行参数,但它只显示C:\WINDOWS\Explorer.EXE
而不是C:\WINDOWS\explorer.exe
。我尝试搜索 run.exe 等,但发现没有什么。
我感觉它可能只是传递给 explorer.exe 的命令行参数,但我不确定。它是它自己的文件吗?它可能是 explorer.exe 的一部分吗?
有人认为这是一个重复的问题,所以我来解释一下它不是:我不是问对话框如何定位可执行文件,而是问 Run 本身在哪里。
答案1
Windows 运行对话框位于哪里?
Windows 运行对话框是位于 的资源c:\windows\system32\shell32.dll
。
可以通过运行以下命令来打开该对话框:
c:\windows\system32\rundll32.exe shell32.dll,#61
这适用于 32 位和 64 位 Windows。
也可以使用以下命令启动对话框:
explorer shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}
(在 PowerShell 和命令提示符中测试)
谢谢基思·米勒找到这个
答案2
没有这样的文件。它实际上只是其他可执行文件或库中的子程序(可能是,explorer.exe
或者更可能是shell32.dll
)。
您能看到的窗口不等于可执行文件。绘制窗口只是调用函数。没有理由假设您看到的每个窗口都有一个 .exe,或者您可以将特定选项传递给可执行文件以显示特定窗口!
使用“运行”对话框,您可能真的很幸运 - 我认为它可能是的导出符号(读作:外部可调用函数)shell32.dll
,您可以使用类似的方法调用它
rundll32.exe shell32.dll,#{ID of Symbol}
答案3
没有单独的程序。它是 Shell32.dll 中的函数编号 61。
该函数名为 RunFileDlg,它采用一组复杂的参数来指定要运行哪个命令以及如何运行它。
Explorer.exe(实际上是处理 Windows 桌面(包括处理“开始”菜单中的“运行”选项)的应用程序)仅调用此函数来完成繁重的工作。
(事实上:Explorer 仅调用基本变体。该函数有一些 explorer 实际上不使用的选项。)
您可以用任何您喜欢的编程语言编写自己的程序(只要它允许调用 Windows DLL 函数)来自己调用 RunFileDlg。
所有相关文档都可以在 Microsoft Technet 网站上找到。并且,通过 Google 搜索 shell32:RunFileDlg 也会为您提供大量有关如何执行此操作的很好示例。
答案4
有趣的事实:您可以通过创建名为以下内容的文件夹在桌面或文件资源管理器上看到 Run 的应用程序图标(但无法启动它):
Run.{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}
实际上,您可以像这样更改其名称......
Nomad.{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}
...或其他类似的东西。删除该文件夹不会影响系统。