Запрет на закрытие программы

129
01 декабря 2020, 19:00

Нужно запретить пользователю выходить из программы "крестиком"

Программа пишется под linux и windows.

Под windows есть:

EnableMenuItem(GetSystemMenu(GetConsoleWindow(), FALSE), SC_CLOSE, MF_BYCOMMAND | MF_GRAYED);

А вот как с linux быть?

P.S. Если выложите кроссплатформенный способ - будет вообще шикос!

Answer 1

Для кроссплатформенного решения лучше взять Qt.

Там для главного окна приложения переопределить член-функцию closeEvent следующим образом:

    void MainWindow::closeEvent(QCloseEvent *event) {
        //событие вызывается при клацанье на крестик. Перехватываем и игнорируем его
        event->ignore(); 
    }
Answer 2

В Linux это нецелесообразно, так как пользователь может написать в терминале xkill и убить программу, нажав на любую область окна вашей программы!

READ ALSO
Visual Studio C++ не подсвечивает ошибки

Visual Studio C++ не подсвечивает ошибки

Я не знаю баг это или фича, но Visual Studio C++ (VS 141) не подсвечивает ошибки если функция использует шаблонные параметры, да и вообще работает с шаблонном

145
Мультиплатформенный запуск executable файла из C++

Мультиплатформенный запуск executable файла из C++

Предположим, есть программа, которая должна в зависимости от системы Linux/Windows запускать исполняемый файлЕсть ли в стандартной библиотеке...

115
Как совместить AJAX и Django

Как совместить AJAX и Django

Только начал изучать jQuery и AJAX, однако застрял на самом простом примере

125