Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[c++] перехват wm_paste 16.05.01 22:05
Автор: Vital Статус: Незарегистрированный пользователь
|
Как поставить ловушку(Hook) на все сообщения WM_PASTE?
Если я ставлю фильтр WH_GETMESSAGE и в функции ловушки пишу:
LRESULT CALLBACK GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode < 0) return CallNextHookEx(hhkMes, nCode, wParam, lParam);
if (nCode == HC_ACTION)
{
LPMSG lpMsg;
lpMsg = (MSG*)lParam;
if (lpMsg->message == WM_PASTE)
{
MessageBeep(1);
}
}
CallNextHookEx(hhkMes, nCode, wParam, lParam);
return 0;
}
то ловятся только те сообщения, которые посланы через главное меню->вставить и комбинацию клавишь Ctrl+v, а через контекстное меню->вставить не ловятся.
Фильтры WH_MSGFILTER, WH_SYSMSGFILTER улавливают только обращения к меню, а WM_PASTE не возвращают.
Спасибо Vital.
|
|
[c++] перехват wm_paste 23.05.01 11:04
Автор: WiB Статус: Незарегистрированный пользователь
|
Для перехвата WM_KEYDOWN я переопределила функцию CWinApp::ProcessMessageFilter. Не перехватывалoсь только нажатие F10.
Spy++ показал, что F10 - WM_SYSKEYDOWN :)
|
|
|