Egal, Zeiger in anderen Prozessen sind eh da düben nichts wert.
Darum gibt es ja WM_COPYDATA, welches einen angegebenen Speicherblock in den anderen Prozess kopiert, damit man ihn drüben lesen kann.
Alternatov GlobalAlloc und das
Handle sharen
oder MemoryMappedFiles
oder Streams
oder ...
Delphi-Quellcode:
MyHandle:=FindWindow(nil, PChar(APP_NAME));
...
CloseHandle(MyHandle);
Wieso versuchst du das "
Handle" MyHandle (HWND nicht
HANDLE) freizugeben, was vom FindWindow kommt?
Da du vom CloseHandle die Rückgabewerte nicht prüfst und so nicht mitbekommst, dass es dir einen Fehler um die Ohren versucht zu werfen
und da du zum Glück die falsche Funktion zum Freigeben von HWND benutzt, welche nämlich DestroyWindow (nicht CloseHandle) ist
...
eigentlich hättest du das Fenster gelöscht, wenn es funktioniert hätte.