Ich würde das mit GlobalAlloc und einer WM_USER-Nachricht machen. WM_COPYDATA erfordert ein eigenes Fenster, das Dir beim Programmbeginn noch nicht zur Verfügung steht.
Ablauf:
Code:
GlobalAlloc(ausreichende Größe, um den übergebenen Dateipfad darin unterzubringen)
GlobalLock()
Pfad in den Speicherbereich übertragen
GlobalUnlock()
SendMessage(WM_USER+x,
Handle aus GlobalAlloc)
Verarbeiten im empfangenden Programm:
GlobalLock
herauskopieren des Inhalts
GlobalUnlock
PostMessage (z.B: WM_USER+x+1)
Return
GlobalFree()
Beenden