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

Вниз

Hook на wm_settext ???   Найти похожие ветки 

 
GanibalLector ©   (2004-05-31 16:27) [0]

Необходимо поставить ХУК на изменения Caption некоторого приложения(даже не приложения,а кнопки...ну это не важно).Понятно,что это wm_settext в CallNextHookEx,а вот с первым параметром SetWindowsHookEx затрудняюсь.Что ставить,WH_CBT???
З.Ы. Да,знаю...сейчас Вы скажите читай.Пробовал...дык там все на английском.Проблемы у меня с английским.


 
GanibalLector ©   (2004-05-31 18:51) [1]

ну и ???


 
GanibalLector ©   (2004-06-01 01:02) [2]

Упростим задачу в учебных целях.
Предположим делаю следующее :


procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.FormStyle := fsStayOnTop;
CheckBox1.Enabled := false;
CheckBox1.Caption := "left button";
CheckBox2.Enabled := false;
CheckBox2.Caption := "right button";
CheckBox3.Enabled := false;
CheckBox3.Caption := "keyboard";
CheckBox4.Enabled:=false;
CheckBox4.Caption:="wm_settext";
HookHandle := SetWindowsHookEx(WH_JOURNALRECORD, @HookProc, HInstance, 0);
end;

function HookProc(Code: integer; WParam: word; LParam: Longint): Longint; stdcall;
var
msg: PEVENTMSG;
key:Integer;
begin
if Code >= 0 then begin
result := 0;
msg := Pointer(LParam);
with Form1 do
case msg.message of
WM_MOUSEMOVE: Caption := IntToStr(msg.ParamL) + #32 + IntToStr(msg.ParamH);
WM_LBUTTONDOWN: CheckBox1.Checked := true;
WM_LBUTTONUP: CheckBox1.Checked := false;
WM_RBUTTONDOWN: CheckBox2.Checked := true;
WM_RBUTTONUP: CheckBox2.Checked := false;
WM_KEYUP: CheckBox3.Checked := false;
WM_KEYDOWN: begin
CheckBox3.Checked := true;
if GetForegroundWindow=Form1.Handle then begin
key := msg.paramL and 255;
if key in [48..57, 65..90]
then Edit1.Text := Edit1.Text + chr(key);end;
end;
// вот это все работает,НО ПОЧЕМУ,КОГДА Я СТАВЛЮ wm_move или
// wm_settext или WM_ACTIVATE то ничего не происходит???
end;
end else
result := CallNextHookEx(HookHandle, code, WParam, LParam);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
if HookHandle <> 0 then
UnhookWindowsHookEx(HookHandle);
end;


 
GanibalLector ©   (2004-06-01 19:16) [3]

Да...



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

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

Наверх




Память: 0.47 MB
Время: 0.054 c
1-1088233323
dreams
2004-06-26 11:02
2004.07.11
Проблема с MDI окнами


14-1087915090
Volk
2004-06-22 18:38
2004.07.11
Кто это делается?


14-1087718052
Anatoly Podgoretsky
2004-06-20 11:54
2004.07.11
С днем рождения 20.06.2004


4-1085867814
keymaster
2004-05-30 01:56
2004.07.11
Как передать данные через USB


6-1084724045
tolik77
2004-05-16 20:14
2004.07.11
Переброску попорол:))) Теперь вопрос о DNS (про IP или имени)