Thema: Delphi WindowProc einer Klasse?

Einzelnen Beitrag anzeigen

NeoXan
(Gast)

n/a Beiträge
 
#12

Re: WindowProc einer Klasse?

  Alt 2. Feb 2006, 23:34
Also:

SetWindowText funzt, d.h. der Handle wurde richtig gefunden...nur scheint SetWindowLong nicht wirklich zu funktionieren...auch OldWndProc := TWndProc(Pointer(GetWindowLong(WindowHandle, GWL_WNDPROC))); nicht, denn wenn es um
if @OldWndProc <> nil then geht, so wird die Kondition nicht erfüllt, d.h. OldWndProc ist nil...

Meine Funktion schaut so aus:

Delphi-Quellcode:
function TRONPSTransClass.RestoreHandle():boolean;
begin
  if @OldWndProc <> nil then
  begin
    SetWindowLong( WindowHandle, GWL_WNDPROC, LongInt(@OldWndProc));
    SetWindowText( WindowHandle, PChar('...'));
    Result := true;
  end;
end;

function TRONPSTransClass.InjectOwnHandle(): boolean;
begin
  if(isWindow( WindowHandle )) then
  begin
    RestoreHandle();
    OldWndProc := TWndProc(Pointer(GetWindowLong(WindowHandle, GWL_WNDPROC)));
    if @OldWndProc <> nil then
    begin
      SetWindowLong( WindowHandle, GWL_WNDPROC, LongInt(@NewWndProc));
      SetWindowText( WindowHandle, PChar('...'));
    end;
  end;
end;
siehe http://www.delphipraxis.net/internal...ct.php?t=73357
  Mit Zitat antworten Zitat