hallo
inzwischen schaffe ich es die daten (das heisst, den
handle zu verschicken) aber leider nicht richtig. Es handelt sich tatsachlich um eine hook
dll, und ich versuche den
handle des activen(egtforeground window) zu verschicken. Im programm zeige ich dann woher es kam. ich bekomme den richtigen
handle aber nur wenn ich in meinem eigen Fenster binn. Ansonsten scheinen die zahlen nicht zu stimmen.
dll procedure
function KbdHook(hCode,wParam:LongInt;lParam:LongInt):Longi nt;stdcall;
var
wc

Char;
Hw:HWND;
CDS: TCopyDataStruct;
begin
if (MyData^.Msg<>0) and (hCode=HC_ACTION) then
begin
PostMessage(MyData^.Handle,MyData^.Msg,wParam,lPar am);
hw:= GetForegroundWindow();
MyData^.st:=hw;
;
with CDS do
begin
dwData := 0;
cbData := SizeOf(integer);
lpData := Pointer(MyData^.st);
end;
SendMessage(MyData^.Handle, WM_COPYDATA, 0, LongInt(@CDS));
end;
if (MyData^.hHook <> 0) then begin
Result:=CallNextHookEx(MyData^.hHook,hCode,wParam, lParam)
end else Result:=0
end;
main program:
procedure TfrmHook.WndMsg(var msg: TWMCopyData);
var
copyData

CopyDataStruct;
y:HWND;
x:integer;
writeData

AnsiChar;
begin
copyData:=msg.CopyDataStruct;
x:= Integer(copyData.lpData);
y:=hwnd(x);
showmessage('übergebene Zahl:' + #13 + IntToStr(x));
GetWindowText(y,writedata,254);
showmessage('window' + #13 + string(writedata));
end;
irgendetwas gehe ich bestimmt falsch an ..danke
gabi