#c #winapi
#c #winapi
Вопрос:
Я хочу создать окно, у которого есть значок на панели задач, но нет возможности закрываться оттуда. Я мог бы просто перехватить WM_CLOSE, но тогда нефункциональная опция все еще остается в меню панели задач окна. Есть другие вопросы по stackoverflow, относящиеся к этому методу, но ни один из них не описывает, как скрыть саму опцию. Как я могу это сделать?
Ответ №1:
Кнопка панели задач использует то же меню, которое назначено самому окну. Невозможно отличить, вызывается ли меню щелчком на панели задач или щелчком по окну (или даже если оно вызывается мышью или клавиатурой, если на то пошло). Если вы отключите элемент «Закрыть», пользователь вообще не сможет закрыть окно. Так что просто не делайте этого.
Комментарии:
1. Есть ли способ скрыть что-либо, закрывающее окно вообще? CS_NOCLOSE, похоже, ничего не делает с панелью задач (мое окно — это WS_POPUP, поэтому у него все равно нет опции закрытия в окне).
2. Используйте
GetSystemMenu()
, чтобы получить меню окна, а затем используйтеDeleteMenu()
, чтобы удалить из него пункт «Закрыть».