Zarco Gajic menciona el uso de FindWindows pero también hace uso de mutex. Yo tengo una unidad que se ocupa de eso (excepto del paso de parámetros de una instancia a otra), pero en estos momentos mi sitio anda de capa caida y no tengo una copia a mano.
De todas formas, un mutex te sirve para controlar que haya sólo una copia de la aplicación pero no es lo que usarías para pasar parámetros.
----------
Haciendo una revisión, veo que no era con Zarco Gajic donde había visto el uso de WM_COPYDATA. La referencia correcta es
este artículo de
DelphiDabbler.
Ahí viene muy bien explicado. También usa FindWindow pero de una forma más inteligente, aunque a mi en lo particular no me convence por el trabajo extra que hay que hacer. Pero revisa la parte de WM_COPYDATA.
// Saludos