C:\Program Files (x86)\DotR\DotR.exe
Sé que necesito escapar de las barras invertidas, C:\\Program Files (x86)\\DotR\\DotR.exe
pero todavía no funciona. ¿Necesito manejar espacios y paréntesis como caracteres especiales y, de ser así, cómo?
Editar con detalles: estoy ejecutando una pequeña aplicación de consola desde el menú contextual. Cuando lo guardo en C:\DotR.exe y lo agrego al HKEY_CLASSES_ROOT\Folder\shell\DotR\
valor C:\\DotR.exe %1
, funciona bien, pero cuando intento crearlo C:\\Program Files(x86)\\DotR\\DotR.exe %1
aparece un mensaje de error que dice aplicación no encontrada. Quiero guardarlo en archivos de programa y no en C root.
Respuesta1
¿Cómo exactamente estás intentando agregarlo?
Sospecho que tu principal problema es que necesitas comillas alrededor del nombre.
"C:\Program Files (x86)\DotR\DotR.exe" %1
Si está agregando el valor utilizando el regedit.exe
editor GUI, como un valor de cadena, entonces no necesita escapar de los caracteres \
o "
. La GUI se encargará del escape, solo necesita agregar las comillas.
Si lo está agregando con un .reg
archivo, entonces \
es necesario escapar los caracteres, también debe escapar el carácter ". Por lo tanto, un valor REG_SZ de "c:\asdf\asdf"
se vería así.
[HKEY_CURRENT_USER\Temp]
"asdf"="\"c:\\asdf\\asdf\""