ich möchte eine c - source nach Delphi umsetzen, weiß aber bei folgendem code net so richtig wie ich das umsetze:
COPYDATASTRUCT *cpData = (COPYDATASTRUCT *)lParam;
if (cpData->dwData == 1) {
iconData = (NOTIFYICONDATA *) (((BYTE *)cpData->lpData) + 8 );
trayCommand = *(INT *) (((BYTE *)cpData->lpData) + 4);
}
mein bisheriger Lösungsansatz ist wie folgt:
Delphi-Quellcode:
var pCopyData: Pointer;
cpData: ^TCopyDataStruct;
IconData: ^NOTIFYICONDATA;
pByte: ^Byte;
begin
case Msg
of
WM_COPYDATA:
begin
//get data from adress
pCopyData := Ptr(lParam);
if pCopyData <>
nil then
begin
cpData := pCopyData;
if cpData^.dwData = 1
then
begin
pByte := cpData.lpData;
pByte^ := pByte^ + 8;
pCopyData:= Ptr(pByte^);
IconData := pCopyData;
end;
end;
end;
else
Result := DefWindowProc(
Handle,Msg,wParam,lParam);
end;
end;
kann mir jemand helfen?