当我双击某个文件时,启动的应用程序的参数根据 Process Explorer:
"C:\Program Files (x86)\MiKeSoft\PCG Tools\PcgTools.exe" 调试 D:\Muziek\Korg\Workstations\Kronos\Sounds and Templates_Commercial\KRS\KRS-03\KRS-03.PCG
为什么有调试作为第二个参数?
使用描述应执行的命令行的字符串在注册表中设置文件关联。%1
除了文件名的占位符之外,该字符串还可以包含任意附加参数。
如果字符串类似于PcgTools.exe debug %1
您将获得与您观察到的命令行类似的命令行。
正如 Raymond 所指出的,如果您没有%1
用引号引起来,即使文件名包含空格,shell 也不会插入它们。然后,默认命令行解析将该单个文件名视为由空格分隔的多个参数,因此您通常希望使用"%1"
.
在您的情况下"
,文件名周围没有,所以我猜您的程序使用%1
的是非标准命令行解析。一些(大多数是较旧的)程序的行为是这样的,但我建议您自己的程序不要这样做。为它们使用"%1"
和标准解析。