none
DeleteValue + Foreach RRS feed

  • Discussão Geral

  •         private void CMD_CLICK_Click(object sender, EventArgs e)
            {
    
                string keyName = @"Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\Count";
    
                using (RegistryKey key = Registry.CurrentUser.OpenSubKey(keyName, true))
                {
                    if (key == null)
                    {
                        MessageBox.Show("Não existe essa key, verifique por favor!");
                    }
                    else
                    {
                        key.DeleteValue(@"P:\Hfref\Gerzonol\Qrfxgbc\Freire-Fnzc\fnzc-acp..rkr");
                        MessageBox.Show("!");
    
                    }
                }
            }
    Bom fiz vários outros botões igual a este, queria saber como eu faço um botão para procurar uma palavra Chave Dentro de todo o regedit procurando em qualquer parte da KEY e que não demore muito...
    quinta-feira, 8 de março de 2018 07:11

Todas as Respostas

  • Jonathan França,

       Bom... tem esses métodos, né?

    =========================================

    Método Registry.GetValue (String, String, Object)

    https://msdn.microsoft.com/pt-br/library/microsoft.win32.registry.getvalue(v=vs.110).aspx

    =========================================
    Método RegistryKey.GetValue (String, Object)

    https://msdn.microsoft.com/pt-br/library/kk88y0s0(v=vs.110).aspx

    =========================================

    Registry.GetValue always return null

    https://stackoverflow.com/questions/9491958/registry-getvalue-always-return-null

    =========================================

    How to read (Default) key value from registry using C#

    https://www.codeproject.com/Questions/532389/Howplustoplusreadplus-Default-pluskeyplusvalueplus

    =========================================

       O quanto são rápidos? Não sei...

    []'s,
    Fabio I.
    quinta-feira, 8 de março de 2018 14:48
  • Poderia me arrumar uma base deste link? o primeiro link pois eu não compreendi muito bem não... 

    quinta-feira, 8 de março de 2018 23:10
  • Jonathan França,

       Este é o exemplo do primeiro link. Ele procura o nome do registry:

    using System;
    using Microsoft.Win32;
    
    public class Example
    {
        public static void Main()
        {
            // The name of the key must include a valid root.
            const string userRoot = "HKEY_CURRENT_USER";
            const string subkey = "RegistrySetValueExample";
            const string keyName = userRoot + "\\" + subkey;
    
            // An int value can be stored without specifying the
            // registry data type, but long values will be stored
            // as strings unless you specify the type. Note that
            // the int is stored in the default name/value
            // pair.
            Registry.SetValue(keyName, "", 5280);
            Registry.SetValue(keyName, "TestLong", 12345678901234,
                RegistryValueKind.QWord);
    
            // Strings with expandable environment variables are
            // stored as ordinary strings unless you specify the
            // data type.
            Registry.SetValue(keyName, "TestExpand", "My path: %path%");
            Registry.SetValue(keyName, "TestExpand2", "My path: %path%",
                RegistryValueKind.ExpandString);
    
            // Arrays of strings are stored automatically as 
            // MultiString. Similarly, arrays of Byte are stored
            // automatically as Binary.
            string[] strings = {"One", "Two", "Three"};
            Registry.SetValue(keyName, "TestArray", strings);
    
            // Your default value is returned if the name/value pair
            // does not exist.
            string noSuch = (string) Registry.GetValue(keyName, 
                "NoSuchName",
                "Return this default if NoSuchName does not exist.");
            Console.WriteLine("\r\nNoSuchName: {0}", noSuch);
    
            // Retrieve the int and long values, specifying 
            // numeric default values in case the name/value pairs
            // do not exist. The int value is retrieved from the
            // default (nameless) name/value pair for the key.
            int tInteger = (int) Registry.GetValue(keyName, "", -1);
            Console.WriteLine("(Default): {0}", tInteger);
            long tLong = (long) Registry.GetValue(keyName, "TestLong",
                long.MinValue);
            Console.WriteLine("TestLong: {0}", tLong);
    
            // When retrieving a MultiString value, you can specify
            // an array for the default return value. 
            string[] tArray = (string[]) Registry.GetValue(keyName,
                "TestArray",
                new string[] {"Default if TestArray does not exist."});
            for(int i=0; i<tArray.Length; i++)
            {
                Console.WriteLine("TestArray({0}): {1}", i, tArray[i]);
            }
    
            // A string with embedded environment variables is not
            // expanded if it was stored as an ordinary string.
            string tExpand = (string) Registry.GetValue(keyName,
                 "TestExpand", 
                 "Default if TestExpand does not exist.");
            Console.WriteLine("TestExpand: {0}", tExpand);
    
            // A string stored as ExpandString is expanded.
            string tExpand2 = (string) Registry.GetValue(keyName,
                "TestExpand2",
                "Default if TestExpand2 does not exist.");
            Console.WriteLine("TestExpand2: {0}...",
                tExpand2.Substring(0, 40));
    
            Console.WriteLine("\r\nUse the registry editor to examine the key.");
            Console.WriteLine("Press the Enter key to delete the key.");
            Console.ReadLine();
            Registry.CurrentUser.DeleteSubKey(subkey);
        }
    }
    //
    // This code example produces output similar to the following:
    //
    //NoSuchName: Return this default if NoSuchName does not exist.
    //(Default): 5280
    //TestLong: 12345678901234
    //TestArray(0): One
    //TestArray(1): Two
    //TestArray(2): Three
    //TestExpand: My path: %path%
    //TestExpand2: My path: D:\Program Files\Microsoft.NET\...
    //
    //Use the registry editor to examine the key.
    //Press the Enter key to delete the key.

    []'s,
    Fabio I.

    sexta-feira, 9 de março de 2018 14:21
  • Tentei entender este código pois ele está muito confuso...
    sexta-feira, 9 de março de 2018 20:20
  • Estou com a mesma duvida...
    não consegui interpretar o código!
    domingo, 11 de março de 2018 23:40