Здравствуйте.
Мне нужно перехватить EM_REPLACESEL для RichEdit'a. Я получаю его окно, устанавливаю хук напоток. Сообщения приходят, но не все, — EM_REPLACESEL не приходит. Может я что-то делаю не так?
Установка хука:
ThreadId := GetWindowThreadProcessId(SharedData.RichEditWnd);
SysHook := SetWindowsHookEx(WH_GETMESSAGE, @SysMsgProc, HInstance, ThreadId);
Обработка сообщений:
Msg := PMsg(lParam);
if (Msg.hwnd = SharedData.RichEditWnd) and (Msg.message = EM_REPLACESEL) then
begin
PostMessage(SharedData.ServerWnd, HOOK_MSG, 0, 0);
end;
Может это вообще не хуками делается? Интересно, как это в Spy++ реализовано.
Здравствуйте, netie, Вы писали:
N>Может это вообще не хуками делается? Интересно, как это в Spy++ реализовано.
Я бы рекомендовал не углубляться в хуки, а просто заменить оконную процедуру твоего RichEdit'а. Оно и систему-то дёргать не будет, да и как-то попроще...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>