我如何格式化此路径以作为注册表项值?

我如何格式化此路径以作为注册表项值?
C:\Program Files (x86)\DotR\DotR.exe

我知道我需要转义反斜杠,C:\\Program Files (x86)\\DotR\\DotR.exe但仍然不起作用。我是否需要将空格和括号作为特殊字符处理?如果需要,该如何处理?

详细编辑:我正在从上下文菜单运行一个小型控制台应用程序。当我将其保存到 C:\DotR.exe 并添加到HKEY_CLASSES_ROOT\Folder\shell\DotR\值时C:\\DotR.exe %1,它工作正常,但当我尝试这样做时,C:\\Program Files(x86)\\DotR\\DotR.exe %1我收到一条错误消息,提示未找到应用程序。我想将其保存在程序文件中,而不是 C 根目录中。

答案1

您究竟想如何添加它?

我怀疑您的主要问题是您需要在名字周围加引号。

"C:\Program Files (x86)\DotR\DotR.exe" %1

如果您使用 GUI 编辑器将值添加regedit.exe为字符串值,则无需转义\"字符。GUI 将处理转义,您只需添加引号即可。

如果您将其与文件一起添加.reg,则其\字符确实需要转义,您还需要转义“”字符。因此,REG_SZ 值"c:\asdf\asdf"将如下所示。

[HKEY_CURRENT_USER\Temp]
"asdf"="\"c:\\asdf\\asdf\""

相关内容