Windows 为什么双击打开应用程序但不加载文件?

Windows 为什么双击打开应用程序但不加载文件?,windows,vb6,registry,Windows,Vb6,Registry,我申请编辑.cue文件。如果我使用的.bat文件包含 CueEditor.exe Ah.cue 行,它打开应用程序并正确加载文件;因此,命令行参数似乎能够正确地传递;但双击.cue文件将打开应用程序而不加载文件 .reg包含注册表项的文件,这些注册表项由安装程序创建,用于注册的应用程序默认值。cue文件包括: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.cue] @="CueFile" 及 怎么了 顺便说一句,我使用的是

我申请编辑.cue文件。如果我使用的.bat文件包含

CueEditor.exe Ah.cue
行,它打开应用程序并正确加载文件;因此,命令行参数似乎能够正确地传递;但双击.cue文件将打开应用程序而不加载文件

.reg包含注册表项的文件,这些注册表项由安装程序创建,用于注册的应用程序默认值。cue文件包括:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.cue]
@="CueFile"

怎么了


顺便说一句,我使用的是Windows XP。

最后我找到了答案,之后我确保了注册表设置的正确性。Windows将路径作为字符串传递,但会在每一侧添加引号,如下所示:

“C:\Documents and Settings\ABC\Desktop\AH.cue”


如果它被认为可以像bareC:\Documents and Settings\ABC\Desktop\AH.cuestring那样用作路径,则它不起作用。应该先清除末尾的引号。

命令注册表项中的%1可确保将文件路径作为参数传递给程序。但是你必须编写代码来使用这个参数。既然你没有提到这样做,忘记这是最明显的原因。使用命令$@Hans Passant我回答了我的问题:)我发现一些奇怪的窗口行为出乎意料,不容易被发现;至少对我来说。谢谢你激励我解决这个问题。
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CueFile]

[HKEY_CLASSES_ROOT\CueFile\Defaulticon]
@="\"C:\\Program Files\\Cue Editor\\CueEditor.ico\""

[HKEY_CLASSES_ROOT\CueFile\shell]

[HKEY_CLASSES_ROOT\CueFile\shell\open]

[HKEY_CLASSES_ROOT\CueFile\shell\open\command]
@="\"C:\\Program Files\\Cue Editor\\CueEditor.exe\" \"%1\""