0

当我双击某个文件时,启动的应用程序的参数根据 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

为什么有调试作为第二个参数?

4

1 回答 1

1

使用描述应执行的命令行的字符串在注册表中设置文件关联。%1除了文件名的占位符之外,该字符串还可以包含任意附加参数。

如果字符串类似于PcgTools.exe debug %1您将获得与您观察到的命令行类似的命令行。

正如 Raymond 所指出的,如果您没有%1用引号引起来,即使文件名包含空格,shell 也不会插入它们。然后,默认命令行解析将该单个文件名视为由空格分隔的多个参数,因此您通常希望使用"%1".

在您的情况下",文件名周围没有,所以我猜您的程序使用%1的是非标准命令行解析。一些(大多数是较旧的)程序的行为是这样的,但我建议您自己的程序不要这样做。为它们使用"%1"和标准解析。

于 2013-04-14T22:10:32.657 回答