Przechwycanie Komunikatów

Przechwycanie Komunikatów
Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10230
0

Ostatnio ściągnąłem program, ale powykonaniu paru rzeczy zawiesza się, ale mniejsza o to.
Chcę sobie napisać program który przechwyci wszystkie komunikaty, nawet jeżeli są kierowane nie do mojej aplikacji...

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Gorlice
1

Hook?

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10230
0

Już sobie poradziłem...
Ale mam inny problem, odnośnie komunikatów.

W OnDeactive formy dałem taki kod (znalazłem na forum 4p):

Kopiuj
var
  hW : HWND;
begin
  hW := Application.Handle;
  SetForegroundWindow(hW);
end;

Czyli to ma działać tak, że jeżeli dezaktywuje okno, ma ono się aktywować i wyskoczyc na wierzchu. Niestety nie wyskakuje :( czemu?

olesio
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
  • Postów: 4191
0

Co do Hooków to przenalizuj sobie kod z pod poniższego linku, na XP oraz pod Delphi 7 działa ok.
http://www.mediafire.com/file/rxalzlz0778lx9t/calc_control.rar - zaś co do drugiego pytanir to
pewnie OnDectivate zachodzi kiedy indziej, najlepiej sprawdź to w helpie kiedy to ma miejsce.
A chyba najprostszym rozwiązaniem jest ustawienie Timera z małym Intervaelm i może taki kod,
oczywiście jeżeli efekt osiągnany przez własności StayOnTop dla formatki Tobie nie wystarcza.

Kopiuj
procedure TForm1.Timer1Timer(Sender: TObject);
var
  H : HWND;
begin
  H := Self.Handle;
  if GetForegroundWindow <> H then
  begin
    if IsIconic(Application.Handle) then
    begin
      ShowWindow(Application.Handle, SW_SHOW);
      ShowWindow(Application.Handle, SW_RESTORE);
    end
    else
    begin
      SetForeGroundWindow(Application.Handle);
    end;
  end;
end;

I nie obraź się TomRiddle, wiem że kto pyta to nie bładzi, ale Ty chyba za trudne sobie programy wymyślasz,
zamiast najpierw pokombinować może z podstawami, bo co kombinujesz przy nowym projekcie - to trafiasz
na kolejne problemy. Ja lubie pomagać tutaj, o ile potrafię. Ale dziwi mnie że słabo coś ogarniasz banały ;/

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.