Windows 运行对话框使用什么算法?

Coo*_*per 5 windows windows-explorer path run-dialog

我有一组文件(“.r2w”)扩展名,它们与 Attachmate Reflection 有文件关联。我在一个文件夹中有几个,我已将其添加到 PATH。我还将 .r2w 添加到 PATHEXT。

此设置对于 cmd.exe 似乎是正确的,但在“运行”对话框 (Win+R) 中不起作用。例如,我有一个文件“test.r2w”。从 cmd.exe 中,我可以简单地输入“test”,它就可以正确启动。但是,在“运行”对话框中键入“test”不起作用。

我运行了进程监视器,似乎运行对话框的命令搜索算法与此处的“PATH 命令和 PATHEXT 变量”部分不同:http : //technet.microsoft.com/en-us/library /cc723564.aspx

1) 谁能解释一下运行对话框的命令搜索算法是什么?

2)任何人都可以提供一种方法来设置运行对话框来执行我想要的操作 - 特别是能够运行 .r2w 文件而无需输入扩展名?

sur*_*asb 1

好吧,运行对话框!= NT 命令解释器。

但我的猜测是它使用与 ShellExecuteEx 相同的算法。我记得一篇 Old New Thing 博客文章展示了如何通过调用 ShellExecute 命令来模拟运行对话框搜索的某些功能。

如果我是微软,我也不会记录搜索算法。这是一个实施细节。