Moin Thomas,
da in Deinem Beispiel mit WM_COPYDATA als Message gearbeitet wird: Gar nicht.
Ich hab' da mal eine Demo angehängt für RegisterWindowMessage.
Beim Button "Einfach" wird, mittels der selbst registrierten Message, und HWND_BROADCAST an alle Fenster die Message geschickt. Alle laufenden Instanzen des Programmes erhalten den Index der aktuell angewählten Zeile weitergeleitet, so dass im Edit Feld der Inhalt der Zeile steht.
Beim Button "Gezielt" wird, mit Hilfe des Fenstertitels, gezielt nach allen laufenden Instanzen des Programmes gesucht, und diesen gezielt die eigene Message geschickt. Hierbei wird dann der Pointer auf einen String als Parameter mitgegeben, und dieser String dann im Edit Feld angezeigt.
Man könnte das Ganze noch so ergänzen, dass die sendende Instanz eine Message an sich selber verwirft, und/oder das kein String, sondern ein Pointer auf eine beliebige andere (eigene) Struktur übergeben wird.