Evgenii Legotckoi
02 січня 2016 р. 23:30

Qt WinAPI - Урок 008. Додавання програми Qt до автозапуску Windows за допомогою QSettings

Як відомо, клас QSettings дозволяє зберігати налаштування програми у реєстрі ОС Windows . Завдяки такій можливості та гарному знанню роботи реєстру Windows можна додати програму в автозапуск, або видалити її звідти через, наприклад, діалог налаштувань програми. Для цього можна скористатися чекбоксом, і у випадку, якщо він позначений, то по кліку по кнопці підтвердження в діалоговому вікні записати програму в автозапуск, інакше видалити його з автозапуску.

У будь-якому випадку все зводиться до двох дій.

Записуємо програму в автозапуск

#ifdef Q_OS_WIN32
    QSettings settings("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
    settings.setValue(APPLICATION_NAME, QDir::toNativeSeparators(QCoreApplication::applicationFilePath()));
    settings.sync();
#endif

Видаляємо програму з автозапуску

#ifdef Q_OS_WIN32
    QSettings settings("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
    settings.remove(APPLICATION_NAME);
#endif

Звичайно, обертаємо весь код в умови для компілятора, оскільки код є платформозалежним у цьому випадку.

Вам це подобається? Поділіться в соціальних мережах!

Коментарі

Only authorized users can post comments.
Please, Log in or Sign up
  • Останні коментарі
  • Evgenii Legotckoi
    16 квітня 2025 р. 17:08
    Благодарю за отзыв. И вам желаю всяческих успехов!
  • IscanderChe
    12 квітня 2025 р. 17:12
    Добрый день. Спасибо Вам за этот проект и отдельно за ответы на форуме, которые мне очень помогли в некоммерческих пет-проектах. Профессиональным программистом я так и не стал, но узнал мно…
  • AK
    01 квітня 2025 р. 11:41
    Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
  • Evgenii Legotckoi
    09 березня 2025 р. 21:02
    К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
  • VP
    09 березня 2025 р. 16:14
    Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…