|
|
|
WndProc и VK_LMENU/VK_RMENU
|
|||
|---|---|---|---|
|
#18+
Дико извиняюсь, вопрос не совсем про дотнет, но около него. Понадобилось тут для одного специфического контрола из одного специфического фреймворка заблокировать вызов контекстного меню. Как выяснилось, сделать это можно только в самописной реализации IMessageFilter.PreFilterMessage , который фактически вызывается внутри WndProc хука приложения. Ну вроде как дело это нехитрое - если контрол имеет активный фокус ввода, возвращаем true (т.е. останавливаем дальнейшую обработку сообщения) в случаях, когда: 1. Message.Msg=WM_RBUTTONUP 2. Message.Msg=WM_CONTEXTMENU 3. Message.Msg=WM_SYSKEYDOWN && Message.WParam==VK_F10 4. Message.Msg=WM_KEYUP && Message.WParam==VK_APPS Вроде как всё работает, но смущает наличие в хелпе по virtual key codes ещё двух констант: VK_LMENU и VK_RMENU. Каким физическим кнопкам они соответствуют? Нужно ли аналогично блокировать их нажатие? Я вообще считал, что VK_RMENU - это кнопка ≣ в правой части клавиатуры рядом с windows key, однако, как выяснилось, ≣ - это как раз VK_APPS. Что же в таком случае эти VK_LMENU и VK_RMENU? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2021, 12:10 |
|
||
|
|

start [/forum/topic.php?fid=20&tid=1398196]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 382ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...