C:\Program Files (x86)\DotR\DotR.exe
Eu sei que preciso escapar das barras invertidas, C:\\Program Files (x86)\\DotR\\DotR.exe
mas 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 %1
ele funciona bem, mas quando tento fazer isso, C:\\Program Files(x86)\\DotR\\DotR.exe %1
recebo 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.exe
editor 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 .reg
arquivo, 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\""