REGISTRO DO WINDOWS
Bom dia a todos.
Volta e meia, acontece, em algum cliente, um erro relativo ao registro das dlls do meu sistema. Ou o cliente mudou a dll de local ou existem duas dlls registradas.
Alguém sabe como fazer um algoritmo para PROCURAR dentro do registro do windows por uma palavra e deletar todas chaves que forem encontradas?
Muito obrigado.
Volta e meia, acontece, em algum cliente, um erro relativo ao registro das dlls do meu sistema. Ou o cliente mudou a dll de local ou existem duas dlls registradas.
Alguém sabe como fazer um algoritmo para PROCURAR dentro do registro do windows por uma palavra e deletar todas chaves que forem encontradas?
Muito obrigado.
Já que ninguém se manifestou, estou postando a solução que eu fiz...
Talvez isso será útil para alguém, algum dia.
Chamada:
Void:
Talvez isso será útil para alguém, algum dia.
Chamada:
Varre_Registro(textBox1.Text, Registry.LocalMachine);
Varre_Registro(textBox1.Text, Registry.ClassesRoot);
Void:
private void Varre_Registro(string sValorRegistrado, RegistryKey Root)
{
RegistryKey objArvore;
objArvore = Root;
if (objArvore != null)
{
foreach (string objValor in objArvore.GetValueNames())
{
if (objArvore.GetValue(objValor) != null)
{
if (objArvore.GetValue(objValor).ToString().ToLower().Contains(sValorRegistrado.ToLower()))
{
objArvore.DeleteValue(objValor);
iContRegistros++;
}
}
}
if (objArvore.SubKeyCount > 0)
{
foreach (string objReg in objArvore.GetSubKeyNames())
{
try
{
RegistryKey objAux = Root.OpenSubKey(objReg, true);
}
catch
{
continue;
}
Varre_Registro(sValorRegistrado, Root.OpenSubKey(objReg, true));
}
}
}
}
Tópico encerrado , respostas não são mais permitidas