Wie wärs denn so? Ich kapiere noch immer nicht wieso du diese Frage gerade stellst.
Delphi-Quellcode:
type
TPostMessageData =
record
sString:
string;
sInt: Integer;
end;
PPostMessageData = ^TPostMessageData;
Button1Click(Sender: TObject);
var
CopyData: TPostMessageData;
begin
CopyData.sString := '
String test';
CopyData.sInt := 99;
SendMessage(
Handle, WM_COPYDATA, 0, Integer(@CopyData));
end;
procedure TFormReceiver.WMCopyData(
var msg: TWMCopyData);
begin
ShowMessage(PPostMessageData(msg.CopyDataStruct).sString);
end;
Du hast geschrieben das du die Winproc ersetzen\austauschen willst.
Das ist schlicht weg falsch und nicht möglich.
Du kannst deine eigene Message Queue aus dieser ableiten aber die Winproc austauschen vergiss es.
Lese doch einfach mal was du geschrieben hast.
Zitat:
blockiert SendMessage den Thread erst einmal.
Nö.
Sendmessage wartet auf die Rückgabe PostMessage eben nicht!
Bin raus!
gruss