Problemas com o RegWrite

Olá,

acabei de responder uma pergunta capisciosa no forum sobre o método RegWrite. O usuário queria criar um valor no registro com um backslash (também conhecido como barra invertida: \  )  no nome.

Resposta rápida: não dá. Não com o RegWrite. Saídas rápidas: Classe StdRegProv do WMI, PowerShell, escrever um .REG e executar silenciosamente.

Triste, mas não tem como mesmo. Limitação documentada do RegWrite no artigo http://support.microsoft.com/default.aspx/kb/281309

A razão é simples: o próprio RegWrite usa a \ para separar chaves no registro. Bastava considerar duas barras seguidas como escape, mas isso não foi feito. =(

Até a próxima!

Categorias dessa postagem: ,

Comentários

Paulo Freitas : Vinicius,

eu tenho um arquivo .exe que rodo ele com alguns parametros, exemplo:

tcp 192.168.0.1 23 23

e ele fica aberto aguardando conexoes, em .bat eu sei que nao tem como eu colocar isso em background, voce sabe se em powershell tem como rodar ele em background , pode ser como servico, aparecendo no taskmanager [27/3/09 11:31 - link]

Anônimo : tb pode ser feito com o Set-itemproperty HKCU:\ e etc etc


Rafael Canto [2/4/09 10:39 - link]

Vinicius Canto : @Paulo: Tem, mas não recomendo fazer isso com o PowerShell. Talvez tenha algum parâmetro no comando Start que resolva, mas também não recomendo. Sugiro modificar seu programa e compilar ele como um serviço do Windows.

@R.Canto: Fico feliz em vê-lo por aqui =). Muito bem lembrado do Set-ItemProperty do PowerShell. ele funciona com \ no nome do valor.


Abraço! [25/4/09 17:43 - link]