AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi "Crossprocess Subclassing" Warum funzt das nicht?
Thema durchsuchen
Ansicht
Themen-Optionen

"Crossprocess Subclassing" Warum funzt das nicht?

Ein Thema von Metal_Snake2 · begonnen am 31. Aug 2008 · letzter Beitrag vom 3. Sep 2008
 
Metal_Snake2

Registriert seit: 19. Nov 2004
134 Beiträge
 
Delphi 7 Personal
 
#6

Re: "Crossprocess Subclassing" Warum funzt das nic

  Alt 3. Sep 2008, 18:58
Ich habe jetz eine konkrete fragt:

Ich bin jetzt im adressraum des anderen Prozesses via Windows Hook, aber warum funktioniert nun das subclassing nicht?

Delphi-Quellcode:

var
  OldWndProc : Integer;

function HeaderProc(wnd: HWND; Msg: Cardinal; wParam: wParam; lParam: lParam): Longint; stdcall;
var
   MessageProcessed: Boolean;
begin
   MessageProcessed := False;
   IPCSendMessage(pHookRec1.ClientWnd, 'Leave');
   case Msg of
    WM_NOTIFY: MessageProcessed := true;
    WM_MOUSELEAVE: begin
                     IPCSendMessage(pHookRec1.ClientWnd, 'Leave');
                   end;
   end;

   if not MessageProcessed then
      Result := CallWindowProc(Pointer(GetWindowLong(wnd, GWL_USERDATA)),wnd,Msg,wParam,lParam)
   else
      Result := 0;
end;



procedure Subclass(wnd: HWND);
begin
  OldWndProc:= GetWIndowLong(wnd, GWL_WNDPROC);
  SetWindowLong(wnd, GWL_USERDATA, OldWndProc);
  SetWindowLong(wnd, GWL_WNDPROC, Integer(@HeaderProc));
end;

procedure Unsubclass(wnd: HWND);
begin
  if (OldWndProc <> 0) then
     SetWindowLong(wnd,GWL_WNDPROC, GetWindowLong(wnd, GWL_USERDATA));
end;

Ich mein das Fensterhandle der zu welches ich subclassen will ist in ordnung jedoch liefert mir
jedesmal der aufruf "GetWIndowLong(wnd, GWL_WNDPROC)" gleich 0, warum bekomme ich einfach micht den handle zu Fensterprozedure.

Das müßte doch eigentlich jetzt funzen da ich ja in dem richtigen Adressraum bin.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz