Ich schreib grad eine
dll für mIRC und muss aber die Messages die an mIRC gehen vorher noch auswerten. Ich hab das ganze jetzt mal so probiert:
Delphi-Quellcode:
...
var mIRC_oldproc: Integer;
...
function DllWndProc(mHWND: HWND; umsg: UINT; wP: WPARAM; lP:LPARAM): integer;
begin
//hier will ich auswerten
CallWindowProc(@mIRC_OldProc,mhwnd,uMsg,wP,lP);
end;
function LoadDll(...)//Funktion zum setzen der WndProc
begin
mIRC_OLDPROC:=GetWindowLong(mwnd,GWL_WNDPROC);
SetWindowLong(mwnd,GWL_WNDPROC,LONGINT(@DLLWndProc));
end;
procedure UnloadDll(mTimeOut: integer); stdcall; export;
begin
SetWindowLong(Loadinfo.mHwnd,GWL_WNDPROC, LONGINT(@mIRC_OLDProc));
end;
jedoch hängt es sich dabei immer auf. kann mir jemand da weiterhelfen was ich falsch gemacht hab?