Naja erstmal ist der Code unsauber, weil du nicht sicher sein kannst, dass das
Handle auch wirklich schon geschrieben wurde. Da nützt auch das Sleep(1000) nichts.
Delphi-Quellcode:
addr:=Virtualallocex(hproc,0,sizeof(hdll),MEM_COMMIT,PAGE_EXECUTE_READWRITE);
writeprocessmemory(hproc,addr,pointer(hdll),sizeof(hdll),cWPM);
createremotethread(hproc,nil,0,getprocaddress(getmodulehandle('kernel32.dll'),'FreeLibrary'),addr,0,hremthread);
CloseHandle(hProc);
Willst du einen Zeiger auf die Speicherstelle von HDLL oder einen Zeiger auf den Speicherinhalt? Denke ja mal eher an den Inhalt, von daher mal statt Pointer(HDLL), @HDLL versuchen.