Запретить сворачивание формы
Подскажите кто знает: можно ли как-то запретить сворачивания окна прилождения при нажатии Win+D. Спасибо
Imho, надо обрабатывать сообщение WM_SYSCOMMAND, если wParam == SC_MINIMIZE, значит, нас пытаются свернуть, и надо ответить на эту провокацию решительным отказом. ;)
Забавная у тебя манера -- отвечать самому себе вопросом на вопрос... ;)
Imho, надо обрабатывать сообщение WM_SYSCOMMAND, если wParam == SC_MINIMIZE, значит, нас пытаются свернуть, и надо ответить на эту провокацию решительным отказом. ;)
Не получается. Таким способом у меня получается обрабатывать только когда нажимается непосредственно кнопка "_" на заголовке окна, а Win+D и Win+M так и продолжает срабатывать.
[QUOTE]Originally posted by Plisteron
Imho, надо обрабатывать сообщение WM_SYSCOMMAND, если wParam == SC_MINIMIZE, значит, нас пытаются свернуть, и надо ответить на эту провокацию решительным отказом. ;)
Не получается. Таким способом у меня получается обрабатывать только когда нажимается непосредственно кнопка "_" на заголовке окна, а Win+D и Win+M так и продолжает срабатывать.
Тогда бери мелкомягкий Spy++ и смотри, какие сообщения получает окно, когда юзер давит MustDie+M. У меня получилось следующее:
WM_SHOWWINDOW wParam = 0, lParam = 1
WM_SHOWWINDOW wParam = 0, lParam = 0
WM_WINDOWPOSCHANGING wParam = 0 lParam = { hwnd = hwnd, hwndInsertAfter = Null, x = 0, y = 0, cx = 0, cy = 0, flags = SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_HIDEWINDOW}
WM_WINDOWPOSCHANGED wParam = 0, lParam = {hwnd = hwnd, hwndInsertAfter = Null, x = 197, y = 117, cx = 150, cy = 500, flags = SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_HIDEWINDOW | 1800}
Ну и ещё несколько сообщений.
WM_SHOWWINDOW (может и другие понадобятся пока не знаю):
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(WM_SHOWWINDOW, TMessage, my_obr)
END_MESSAGE_MAP(TForm)
Так как сделать чтобы это сообщение игнорировалось? Или оно и так заигнориться и выполниться только my_obr?
Если не трудно кинь такой же список сигналов на Win+D, а то у меня Spy++ чего-то не хочет фурычить(может ему VС нужен)...