Einzelnen Beitrag anzeigen

NeoXan
(Gast)

n/a Beiträge
 
#6

Re: Main Menu Einträge Dritter auslesen

  Alt 1. Feb 2006, 20:52
Alles klappt soweit perfekt, danke erstmal. Nur meinen eigenen Handle "zwischenschieben" will nicht so ganz, also ich habe z.B. jetzt

Delphi-Quellcode:
    WindowHandle : HWND;
MessageHandle : LongInt;
WindowHandle ist der Handle von der Applikation XY und Message Handle ist GetWindowLong(WindowHandle, GWL_WNDPROC);

Jetzt hänge ich bei:
SetWindowLong( MessageHandle, bzw. ich habe ja noch nicht einmal eine Prozedur um die MESSAGE abzufangen. Wie gesagt, ist das erstemal, dass ich mich damit befasse. :/

Ich dachte da in Richtung
Delphi-Quellcode:
procedure MessageHandler(var Message: TMessage);
begin
  case Message.Msg of

    WM_IRGENDWAS:
      begin
       {irgendwas}
      end;

end;
vielen Dank bis jetzt
Florian


EDIT
================

Okay, bin jetzt ein wenig weiter
Delphi-Quellcode:
function InjectOwnHandle(): boolean;
begin
  LastProc := Pointer(GetWindowLong(WindowHandle, GWL_WNDPROC));
  SetWindowLong(WindowHandle, GWL_WNDPROC, Integer(@WindowProc));
end;

function WindowProc(H : HWND; Msg : Cardinal; wParam, LParam : Cardinal) : Integer; stdcall;
Begin
  If Msg = XXX Then begin

  end;

  Result := CallWindowProc(LastProc, H, Msg, wParam, LParam);
End;
und bei Destroy habe ich
  SetWindowLong(WindowHandle, GWL_WNDPROC, Integer(LastProc)); drinn.

Nur es kommt ein Fehler bei der InjectOwnHandle Funktion...mein Compiler sagt, er erwartet eine Variable???
  Mit Zitat antworten Zitat