Como posso formatar esse caminho para funcionar como valor de chave de registro?

Como posso formatar esse caminho para funcionar como valor de chave de registro?
C:\Program Files (x86)\DotR\DotR.exe

Eu sei que preciso escapar das barras invertidas, C:\\Program Files (x86)\\DotR\\DotR.exemas ainda não funciona. Preciso tratar espaços e parênteses como caracteres especiais e, em caso afirmativo, como?

Edite com detalhes: estou executando um pequeno aplicativo de console no menu de contexto. Quando eu salvo em C:\DotR.exe e adiciono ao HKEY_CLASSES_ROOT\Folder\shell\DotR\valor, C:\\DotR.exe %1ele funciona bem, mas quando tento fazer isso, C:\\Program Files(x86)\\DotR\\DotR.exe %1recebo uma mensagem de erro dizendo que o aplicativo não foi encontrado. Quero salvá-lo em arquivos de programa e não na raiz C.

Responder1

Como exatamente você está tentando adicioná-lo?

Suspeito que seu principal problema é que você precisa de aspas no nome.

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

Se você estiver adicionando o valor usando o regedit.exeeditor GUI, como um valor de sequência, não será necessário escapar o \ou os "caracteres. A GUI cuidará do escape, basta adicionar as aspas.

Se você estiver adicionando-o com um .regarquivo, então os \caracteres precisam ser escapados, você também precisa escapar do caractere ". Portanto, um valor REG_SZ "c:\asdf\asdf"ficaria assim.

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

informação relacionada