C # - приложение приостанавливается при запуске после загрузки - PullRequest
0 голосов
/ 25 февраля 2019

В моем приложении есть возможность загружаться при запуске.Раньше это работало нормально, но теперь уже не работает, как должно.Когда я проверяю диспетчер задач сразу после загрузки системы, я вижу, что приложение загружается, приостанавливается и уничтожается Windows.

Я использую следующий фрагмент кода для установки ключа регистрации:

private void checkBox_startOnBoot_CheckedChanged(object sender, EventArgs e) //Update settings, set value of registery key
{
    if (checkBox_startOnBoot.Checked)
    {
        using (RegistryKey key = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
        {
            key.SetValue(Application.ProductName, Application.ExecutablePath);
        }
    }
    else
    {
        using (RegistryKey key = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
        {
            key.SetValue(Application.ProductName, false);
        }
    }

    Settings.Default.Start_On_Boot = checkBox_startOnBoot.Checked;
    Settings.Default.Save();
}

Я не вижу в функции Main () ничего, что могло бы вызвать неисправность:

static void Main()
{
    if (Settings.Default.Restarting)
    {
        Settings.Default.Restarted = true;
        Settings.Default.Save();
    }
    using (oneInstanceMutex = new Mutex(false, "Global\\" + appGuid))
    {
        if (!oneInstanceMutex.WaitOne(0, false)) // If app already running, but is not restarting // && restartMutex.WaitOne(0, false)
        {
            if (!Settings.Default.Restarting)
            {
                AlreadyRunning();
                return;
            }
        }


        hpt = new HookProcThread();
        hpt.Run();

        SystemEvents.PowerModeChanged += OnPowerChange;

        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        mw = new MainWindow();
        if (Settings.Default.Restarted)
        {
            mw.WindowState = (FormWindowState)Settings.Default.RestartingWindowMode;
        }
        Settings.Default.Restarting = false;
        Settings.Default.Save();
        Application.Run(mw);
    }
}

Так что, если у кого-то есть идея, как я могу предотвратить приостановку и уничтожение приложения при загрузке, это было бы здорово!

1 Ответ

0 голосов
/ 26 февраля 2019

Как оказалось, был файл, который не удалось найти. @ JeroenMostert и huysentruitw оба указали мне в правильном направлении, чтобы посмотреть в окне просмотра событий, которое показало мне ошибку.

...