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!
Comentários
Postar um comentário
Anônimo : 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]