Всем привет, сделал приложение Windows Form на с#. При запуске программа должна автоматически загружаться пр входе пользователя в систему. Проверять и обновлять ключ в реестре так, чтобы запускаться через раз. Идея состоит в том, что при загрузке операционной системы проверяется значение ключа реестра “key”. Если значение “key”- не ноль, то программа - не запускается и меняет значение “key” на 0, чтобы запуститься при следующем запуске. Если же“check”- ноль, то программа запускается. Вот примерный код, который просто должен менять значение ключа, но почему то не делает этого.
RegistryKey myKey = Registry.CurrentUser.OpenSubKey("Keys", true);
if (myKey != null)
{
Application.Exit();
myKey.SetValue("key", "0", RegistryValueKind.String);
myKey.Close();
}
if (myKey == null)
{
myKey.SetValue("key", "1", RegistryValueKind.String);
myKey.Close();
}
Application.Exit();
myKey.SetValue("key", "0", RegistryValueKind.String);
myKey.Close();
Поздно. Приложение уже закрылось, ничего никуда не запишется. Переставь строки.
Смотрим логику вашего кода:
RegistryKey myKey = Registry.CurrentUser.OpenSubKey("Keys", true);
- вы открываете раздел Keys
, а он есть у вас? Я думаю, что нет..if (myKey != null)
- вы проверяете как раз, есть ли он у вас.else
) - вы пытаетесь записать в не существующий объект (то есть NULL
) значение key
. Получаете ошибку...Ваш сначала надо создать раздел, если его нет, примерно так:
RegistryKey myKey = Registry.CurrentUser.OpenSubKey("Keys", true);
if (myKey == null) myKey = Registry.CurrentUser.CreateSubKey("Keys");
Далее уже, пытаться получить значение Key
и изменить его:
var key = myKey?.GetValue("Key", 0);
if (key != null && (string) key == "0")
{
myKey.SetValue("key", "1", RegistryValueKind.String);
}
//else.....
Код написал примерный, но суть думаю ясна.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Что лучше использовать для сортировки IComparer или IComparable?Можете сказать что из них лучше использовать и почему? Лично я сам не совсем понял что...
Есть множество значений которые изменяются со временемЕсли значение достигает определенного критического значения (у каждого оно свое),...
Вопрос: Есть 1 текстовый файл, в котором указаны пути файловВ списке нет разделителей типа ; или каких либо других