Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.04;
Скачать: CL | DM;

Вниз

Локальный хук на WM_SETTEXT   Найти похожие ветки 

 
Arc   (2005-07-17 12:39) [0]

Не могу поставить локальный хук на это сообщение. Как только не делал, не получается.

Код:

SetLocalHook(WH_GETMESSAGE, @DoSetTextHook, FArcSetTextHook);

procedure TArcLocalizator.SetLocalHook(idHook: Integer; lpfn: TFNHookProc; var HookHandle: HHook);
var
 ThreadId: Cardinal;
begin
 //Set hook for dinamically created
 ThreadId := GetCurrentThreadId;
 if ThreadId <> 0 then
 begin
   HookHandle := SetWindowsHookEx(idHook, lpfn, 0, ThreadId);
   if HookHandle = 0 then
     raise Exception.Create("Can""t add function to a localization hook");
 end
 else
   raise Exception.Create("Can""t get current thread id to a localization hook");
end;

function DoSetTextHook(code: Integer; wparam: WPARAM; lparam: LPARAM): LRESULT; stdcall;
var
 PACH: PAnsiChar;
 s: String;
begin
   if TWMSetText(Pointer(lparam)^).msg = WM_SETTEXT then
   begin
    // Вот сюда я попасть ну ни как не могу, что бы я не делал с    lparam
    // Some Code
   end;
   // Для целей мониторинга:
   ArcLocSelf.FIniFile.WriteString("Other", IntToStr(lparam), s);

 Result := CallNextHookEx(ArcLocSelf.FArcSetTextHook, Code, wParam, LPARAM);
end;


 
имя   (2005-07-17 16:55) [1]

Удалено модератором


 
Digitman ©   (2005-07-18 18:00) [2]


> Вот сюда я попасть ну ни как не могу


а куда "попадаешь" ? в смысле - ранее по тексту ?


 
Docent ©   (2005-07-18 19:15) [3]

Может я что-то не правильно понял.
Но ты же вроде как хочешь установить хук на WM_SETTEXT.
А WM_SETTEXT это параметр ф-н SendMessage.

Так почему ты ставишь хук на WH_GETMESSAGE?
Тебе по идее надо ставить хук на ф-н SendMessage тоесть на
WH_CALLWNDPROC...


 
alpet ©   (2005-07-18 19:36) [4]

Если хук установился - нужно для "попадания" дождаться появления сообщения WM_SETTEXT в очереди твоего потока. Только вот врядли это возможно - как замечено в [3] это сообщение передается прямиком оконной процедуре.



Страницы: 1 вся ветка

Текущий архив: 2005.09.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.059 c
14-1123759636
Павел
2005-08-11 15:27
2005.09.04
Delphi &amp; КПК


14-1123732123
XenoX
2005-08-11 07:48
2005.09.04
Люди плиз help нужны иконки


1-1123723393
Просто
2005-08-11 05:23
2005.09.04
Можно ли чёрно-белую bmp-картинку загрузить как курсор?


14-1123598891
serg1111
2005-08-09 18:48
2005.09.04
Как выбрать нормальную видеокамеру


3-1122018110
Koala
2005-07-22 11:41
2005.09.04
Ошибка в выполнении запроса: но почему??? FireBird 1.5