PDA

Просмотр полной версии : Работа с реестром [c#]


[x26]VOLAND
24.09.2007, 10:24
Начал учить C# и столкнулся с такой проблемой. Нужно сохранить в реестре несколько параметров программы.
Вначале программа проверяет существует ли её ключ, если да, то перезаписывает параметры, если ключ не существует, прога создаёт его, и потом записывает параметры.

Вот код (для сохранения позицию формы):
Что нужно написать вместо <CHECKING>??
RegistryKey key = Registry.LocalMachine.OpenSubKey("Software\\[x26]VOLAND\\VSQ4 Launcher\\");

if ( <CHECKING> ) // тут должна идти проверка существования ключа
{
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));
};


Просьба не посылать в гугл и читать учебники. (Пробовал)

0x4D617A
24.09.2007, 14:46
Поставь мсдн и будет тебе счастье
Return Value
The subkey requested, or a null reference (Nothing in Visual Basic) if the operation failed.

W!z@rD
24.09.2007, 14:56
private void button1_Click(object sender, EventArgs e)
{
RegistryKey key = Registry.LocalMachine.OpenSubKey(@textBox1.Text);
if (key == null)
{
checkBox1.Checked = false;
}
else
{
checkBox1.Checked = true;
}
}

думаю комментировать не стоит...

пример текста в textBox1
SOFTWARE\7-Zip
все работает отлично...

твой код:
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));
};

0x4D617A
25.09.2007, 11:36
...
а я как сказал?