Форум программистов, компьютерный форум CyberForum.ru

Как отключить или убрать иконку выхода [x] ? - C++

Восстановить пароль Регистрация
 
Rusarch333
7 / 7 / 1
Регистрация: 12.08.2012
Сообщений: 96
28.08.2012, 00:15     Как отключить или убрать иконку выхода [x] ? #1
Как отключить или убрать иконку выхода [x] ?
В интернете нарыл много информации и на просторах киберфорума тоже, но она мне никак не помогла.

У меня Visual Studio 2010
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6905 / 5145 / 253
Регистрация: 10.12.2010
Сообщений: 22,630
Записей в блоге: 17
28.08.2012, 00:40     Как отключить или убрать иконку выхода [x] ? #2
Нужно из системного меню удалить подменю "закрыть"

Добавлено через 2 минуты
C++
1
2
HMENU hSysMenu =  GetSystemMenu(Handle,false);
DeleteMenu(hSysMenu,SC_CLOSE,MF_BYCOMMAND);
Rusarch333
7 / 7 / 1
Регистрация: 12.08.2012
Сообщений: 96
28.08.2012, 13:45  [ТС]     Как отключить или убрать иконку выхода [x] ? #3
Я находил этот код в гугле самым первым, но мой компилятор не понимает, что такое Handle.
Может я что-то не так делаю ? Я недавно начал программировать...
Avazart
 Аватар для Avazart
6905 / 5145 / 253
Регистрация: 10.12.2010
Сообщений: 22,630
Записей в блоге: 17
28.08.2012, 14:35     Как отключить или убрать иконку выхода [x] ? #4
что такое Handle.
Хендл окна
Andsteadur
152 / 136 / 3
Регистрация: 23.05.2009
Сообщений: 275
28.08.2012, 14:55     Как отключить или убрать иконку выхода [x] ? #5
Для консольного окна:
C++
1
2
3
4
5
6
7
8
9
#include <windows.h>
 
int main()
{
    HMENU hSysMenu = GetSystemMenu(GetForegroundWindow(), false);
    DeleteMenu(hSysMenu,SC_CLOSE,MF_BYCOMMAND);
   system("pause");
   return 0;
}
Только кнопка закрытия не убирается, а становится неактивной
Avazart
 Аватар для Avazart
6905 / 5145 / 253
Регистрация: 10.12.2010
Сообщений: 22,630
Записей в блоге: 17
28.08.2012, 14:57     Как отключить или убрать иконку выхода [x] ? #6
GetForegroundWindow() -это активное окно
Andsteadur
152 / 136 / 3
Регистрация: 23.05.2009
Сообщений: 275
28.08.2012, 14:58     Как отключить или убрать иконку выхода [x] ? #7
Ну да, в консольном приложении активным будет консоль. Или я ошибаюсь?
Avazart
 Аватар для Avazart
6905 / 5145 / 253
Регистрация: 10.12.2010
Сообщений: 22,630
Записей в блоге: 17
28.08.2012, 15:04     Как отключить или убрать иконку выхода [x] ? #8
Это окно которое сейчас "выше" других в систиме...
Andsteadur
152 / 136 / 3
Регистрация: 23.05.2009
Сообщений: 275
28.08.2012, 15:13     Как отключить или убрать иконку выхода [x] ? #9
Avazart, да, но по логике вещей при запуске консольного приложения окно консоли будет "выше" других. Но наверно все же лучше так:

C++
1
HMENU hSysMenu = GetSystemMenu(GetConsoleWindow(), false);
Avazart
 Аватар для Avazart
6905 / 5145 / 253
Регистрация: 10.12.2010
Сообщений: 22,630
Записей в блоге: 17
28.08.2012, 15:48     Как отключить или убрать иконку выхода [x] ? #10
приложения окно консоли будет "выше" других
не факт
Rusarch333
7 / 7 / 1
Регистрация: 12.08.2012
Сообщений: 96
28.08.2012, 18:10  [ТС]     Как отключить или убрать иконку выхода [x] ? #11
Парни, всем спасибо
Rusarch333
7 / 7 / 1
Регистрация: 12.08.2012
Сообщений: 96
31.08.2012, 22:26  [ТС]     Как отключить или убрать иконку выхода [x] ? #12
Народ, снова проблема, я прибыл в город. Тут Windows7, и код:

C++
1
2
HMENU hSysMenu = GetSystemMenu(GetConsoleWindow(), false);
DeleteMenu(hSysMenu,SC_CLOSE,MF_BYCOMMAND);
Не работает.
Avazart
 Аватар для Avazart
6905 / 5145 / 253
Регистрация: 10.12.2010
Сообщений: 22,630
Записей в блоге: 17
31.08.2012, 22:41     Как отключить или убрать иконку выхода [x] ? #13
А у вас вообще консольное приложение ?
Rusarch333
7 / 7 / 1
Регистрация: 12.08.2012
Сообщений: 96
31.08.2012, 22:41  [ТС]     Как отключить или убрать иконку выхода [x] ? #14
Конешно
Avazart
 Аватар для Avazart
6905 / 5145 / 253
Регистрация: 10.12.2010
Сообщений: 22,630
Записей в блоге: 17
31.08.2012, 22:50     Как отключить или убрать иконку выхода [x] ? #15
У меня работает на (Win7) МVС++ 2010 .... и Builder2009 тоже работает ...
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
31.08.2012, 22:53     Как отключить или убрать иконку выхода [x] ? #16
Цитата Сообщение от Rusarch333 Посмотреть сообщение
Не работает.
Как это понимать?
Rusarch333
7 / 7 / 1
Регистрация: 12.08.2012
Сообщений: 96
31.08.2012, 23:07  [ТС]     Как отключить или убрать иконку выхода [x] ? #17
Не работает - при нажатии на [X] программа закрывается (Windows7, Visual Studio 2010)
На WinXP - всё работает нормально.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
31.08.2012, 23:22     Как отключить или убрать иконку выхода [x] ? #18
А тебе надо отключить эту кнопку в своей программе или чужой?

Добавлено через 8 минут
Если в своей, то отключить можно так:
C
1
2
        case WM_CLOSE:
            return 0;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.08.2012, 23:23     Как отключить или убрать иконку выхода [x] ?
Еще ссылки по теме:

C++ Как изменить иконку исполняемого файла
C++ Цикл, как правильно сформулировать условие выхода
C++ Убрать (сделать прозрачным) или заменить курсор в SMFL

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Rusarch333
7 / 7 / 1
Регистрация: 12.08.2012
Сообщений: 96
31.08.2012, 23:23  [ТС]     Как отключить или убрать иконку выхода [x] ? #19
Хм...странно. После перезагрузки ПК всё заработало, всем спасибо за внимание.

Добавлено через 39 секунд
(своей конечно)
Yandex
Объявления
31.08.2012, 23:23     Как отключить или убрать иконку выхода [x] ?
Ответ Создать тему
Опции темы

Текущее время: 14:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru