Comment gérer les espaces dans un chemin de registre Windows de ASP à l'aide RegWrite

StackOverflow https://stackoverflow.com/questions/4383404

  •  10-10-2019
  •  | 
  •  

Question

J'ai un problème dans la mesure du besoin ASP I écriture à une clé de registre de Windows le chemin d'accès qui contient des espaces. Le WScript.Shell RegRead est assez heureux avec ma clé, mais ne RegWrite pas comme elle. Je l'ai testé à l'aide d'autres voies (fictives) et il ressemble vraiment, ce sont les espaces qui sont à l'origine du problème.

<%
   Dim WSH, disable
   Set WSH = CreateObject("WScript.Shell")
   disable = Request("disable")  ' disable will be 1 or 0
   key = "HKEY_LOCAL_MACHINE\SOFTWARE\Data Access Worldwide\" & _
         "Visual DataFlex\10.0\WebApp Server\Web Applications\" & _
         "DAW.Examples.Order10\Disable"
   WSH.RegWrite key, CInt( disable ), "REG_DWORD" 
%>

Obtient: root non valide dans la clé de Registre "HKLM \ SOFTWARE \ Data Access Worldwide Visual DataFlex \ 10.0 \ WebApp Server \ Applications Web \ DAW.Examples.Order10 \ Désactiver"

.

Quelqu'un sait ce qu'il faut faire pour résoudre le problème? Comment échapper aux espaces peut-être?

Je l'ai essayé d'utiliser l'abréviation « HKLM » pour « HKEY_LOCAL_MACHINE », citations supplémentaires, tilde et d'autres substitutions pour les espaces, mais maintenant je suis d'idées. : - (

TIA

Mike

Était-ce utile?

La solution

Je ne pense pas que le problème sont des espaces, mais plus probablement des autorisations.

Si j'essaie votre code, il fonctionne très bien pour les clés résidant dans HKEY_CURRENT_USER, mais je reçois la même erreur que vous pour les clés dans HKEY_LOCAL_MACHINE. L'erreur réelle cependant, est ACCESS_DENIED.

Le plus simple est si vous téléchargez Process Monitor de Microsoft, où vous pouvez voir toutes les activités de registre en temps réel pour chaque processus ainsi que toutes les erreurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top