Shell Open Command发送删除了空格的文件路径

时间:2018-07-22 15:23:41

标签: registry

我正在尝试将已构建为默认程序的应用程序注册为可以使用的文件。

我已经根据需要更新了注册表项,甚至能够使其运行一次...

但是现在我注意到它正在发送一些不同的命令参数,起初(当它提示我打开哪个项目时)只是发送了一个。

当前,它发送以下参数:

-EXE的启动路径

-正在打开文件

-\ Control [没有路径的文件名]

我的应用正在查看第二个参数,并试图将其打开。 问题是它不包含文件路径中存在的任何空格。

例如,它将C:\ Program Files(x86)\的文件位置发送为C:\ ProgramFiles(x86)。

因此,当我随后检查文件是否存在或尝试从该路径读取文件时,该文件不存在,因为它不包含必要的详细信息。

1 个答案:

答案 0 :(得分:0)

我发现原因是当我的注册表项需要在%1位附近加上引号时才调用“ Program To Execute.exe”%1。

在命令行参数周围加上引号后,它开始正常工作。