Mit folgenden Code hooke ich eine Main-window message loop.
Dabei möchte ich eine WM_COPYDATA-message auswerten:
Zitat:
function MyWndProc(hwnd: HWND; Msg: Word; wParam: WPARAM; lParam: LPARAM): Integer; stdcall;
var
DataStrct : TCopyDataStruct;
begin
if Msg = WM_COPYDATA then
begin
DataStrct := lParam; {Das geht nicht}
showmessage(Pchar(DataStrct.lpData));
if Assigned(OrgWndProc) then
Result := CallWindowProc(@OrgWndProc, hwnd, Msg, wParam, lParam)
else
Result := DefWindowProc(hwnd, Msg, wParam, lParam);
end;
Wie komme ich über den Pointer in lParam wieder den TCopyDataStruct zurück:
DataStrct := lParam;
Hat jemand einen Tip?