Работа с реестром [c#]

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by [х26]VОLАND, 24 Sep 2007.

  1. [х26]VОLАND

    [х26]VОLАND Elder - Старейшина

    Joined:
    7 Jun 2006
    Messages:
    513
    Likes Received:
    756
    Reputations:
    218
    Начал учить C# и столкнулся с такой проблемой. Нужно сохранить в реестре несколько параметров программы.
    Вначале программа проверяет существует ли её ключ, если да, то перезаписывает параметры, если ключ не существует, прога создаёт его, и потом записывает параметры.

    Вот код (для сохранения позицию формы):
    Что нужно написать вместо <CHECKING>??
    Code:
               RegistryKey key = Registry.LocalMachine.OpenSubKey("Software\\[x26]VOLAND\\VSQ4 Launcher\\");
    
                if ( [B]<CHECKING>[/B] ) // тут должна идти проверка существования ключа
                {
                    RegistryKey newkey;
                    key = Registry.LocalMachine.OpenSubKey("Software").CreateSubKey("[x26]VOLAND").CreateSubKey("VSQ4 Launcher");
                    key.SetValue("X", "100");
                    key.SetValue("Y", "100");
                    key.Close();
                }
                else
                {
                    string X = key.GetValue("X").ToString();
                    string Y = key.GetValue("Y").ToString();
                    this.Location = new Point(Int32.Parse(X), Int32.Parse(Y));
                };
    
    Просьба не посылать в гугл и читать учебники. (Пробовал)
     
  2. 0x4D617A

    0x4D617A Member

    Joined:
    23 Sep 2007
    Messages:
    11
    Likes Received:
    8
    Reputations:
    0
    Поставь мсдн и будет тебе счастье
    Code:
    Return Value
    The subkey requested, or a null reference (Nothing in Visual Basic) if the operation failed.
     
  3. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    PHP:
            private void button1_Click(object senderEventArgs e)
            {
                
    RegistryKey key Registry.LocalMachine.OpenSubKey(@textBox1.Text);
                if (
    key == null)
                {
                    
    checkBox1.Checked false;
                }
                else
                {
                    
    checkBox1.Checked true;
                }
            }
    думаю комментировать не стоит...

    пример текста в textBox1
    все работает отлично...

    твой код:
    PHP:
               RegistryKey key Registry.LocalMachine.OpenSubKey("Software\\[x26]VOLAND\\VSQ4 Launcher\\");

                if (
    key == null// тут должна идти проверка существования ключа
                
    {
                    
    RegistryKey newkey;
                    
    key Registry.LocalMachine.OpenSubKey("Software").CreateSubKey("[x26]VOLAND").CreateSubKey("VSQ4 Launcher");
                    
    key.SetValue("X""100");
                    
    key.SetValue("Y""100");
                    
    key.Close();
                }
                else
                {
                    
    string X key.GetValue("X").ToString();
                    
    string Y key.GetValue("Y").ToString();
                    
    this.Location = new Point(Int32.Parse(X), Int32.Parse(Y));
                };
     
    1 person likes this.
  4. 0x4D617A

    0x4D617A Member

    Joined:
    23 Sep 2007
    Messages:
    11
    Likes Received:
    8
    Reputations:
    0
    а я как сказал?