@lama23

Почему код не работает?

Код для того чтобы положить файл в автозагрузку

class AutoRun
{
        const string name = "MyTestApplication";
        public static bool SetAutorunValue(bool autorun)
        {
            string ExePath = System.Reflection.Assembly.GetExecutingAssembly().Location;
            RegistryKey reg;
            reg = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run\\");
            try
            {
                if (autorun)
                    reg.SetValue(name, ExePath);
                else
                    reg.DeleteValue(name);

                reg.Close();
            }
            catch
            {
                return false;
            }
            return true;
        }
}


--------------------------------------------------------------------

Код, который вызывает класс в главном коде

AutoRun.SetAutorunValue(true);

Проблема: В реестр нечего не добавляется
  • Вопрос задан
  • 118 просмотров
Пригласить эксперта
Ответы на вопрос 1
@MiMitin
class AutoRun
    {

        const string name = "MyTestApplication";
        public static bool SetAutorunValue(bool autorun)
        {

            string ExePath = System.Reflection.Assembly.GetExecutingAssembly().Location;
            RegistryKey reg;
            reg = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run\\",true); // мы не создаем, а открываем и указываем что будем записывать
            try
            {
                if (autorun)
                    reg.SetValue(name, ExePath);
                else
                    reg.DeleteValue(name);

                reg.Close();
            }
            catch
            {
                return false;
            }
            return true;
        }
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы