Hook nie wysyła komunikatów

Odpowiedz Nowy wątek
2006-10-19 23:08
stefanos
0

Czesc.
Mam problem z hookiem...
mam taki kod:

Function Proc(nCode: integer; wParam: WPARAM; lParam: LPARAM): lresult; stdcall;
begin
   Result:=0;
   pcws := PCWPSTRUCT(lparam);
   case pcws.message of
   WM_COMMAND:
    begin
    if HIWORD(pcws.wParam) = BN_CLICKED then
    if LOWORD(pcws.wParam) = 102 then
    Messagebox(ha, 'a', 'a', mb_iconinformation);
    end;
   end;
   Result := CallNextHookEx(Hok, nCode, wParam, lParam);
end;

i wszystko działa ok...po naciśnięciu odpowieniego przycisku pojawia się okienko...
ale jak daje:

Function Proc(nCode: integer; wParam: WPARAM; lParam: LPARAM): lresult; stdcall;
begin
   Result:=0;
   pcws := PCWPSTRUCT(lparam);
   case pcws.message of
   WM_COMMAND:
    begin
    if HIWORD(pcws.wParam) = BN_CLICKED then
    if LOWORD(pcws.wParam) = 102 then
    PostMessage(ha, WM_DESTROY, 0, 0);
    end;
   end;
   Result := CallNextHookEx(Hok, nCode, wParam, lParam);
end;

albo wysyłam jakikolwiek inny komunikat to już nie działa.
proszę o pomoc ;/ bo nie mam pojęcia o co chodzi i w czym jest problem/błąd.
z góry dziękuje.

Pozostało 580 znaków

2006-10-20 00:18
0

a handle masz dobry...?

btw: jaka jest wlasciwie roznica pomiedzy PostMessage a SendMessage....?

Pozostało 580 znaków

2006-10-20 09:19
DelphiNewbie
0
cimak napisał(a)

a handle masz dobry...?

btw: jaka jest wlasciwie roznica pomiedzy PostMessage a SendMessage....?

Chyba PostMessage ma niższy priorytet

Pozostało 580 znaków

2006-10-20 09:21
stefanos
0

Handle mam napewno dobry, próbowałem nawet robić nową zmienną i za pomocą findwindow łapać handle i dopiero wysyłac, ale to nie pomogło.

PS.
Miedzy postmessage a SEndMessage chyba nie ma zadnej różnicy, albo jest jakaś drobna różnica, nie pamietam dokladnie.

Pozostało 580 znaków

2006-10-20 15:03
nav
0

Komunkat wysłany przez PostMessage zostanie obsłużony dopiero wówczas kiedy funkcja GetMessage pobierze go z kolejki, a DispatchMessage wyśle do właściwego okna.
Natomiast funkcja SendMessage nie korzysta z pośrednictwa kolejki komunkatów. Zamiast tego powoduje ona bezpośrednie wywołanie procedury okna, do którego adresowany jest wysyłany komunikat.


utf-8 rlz! ٩(ಥ_ಥ)۶

Pozostało 580 znaków

2006-10-20 21:15
stefoss
0

no tak dziękuję za odp. ale dalej nie rozwiązałem mojego problemu.
próbowałem postmessage i sendmessage. ale nic nie dziala ;/

pomocy.!

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0