Pues el código ya te lo he proporcionado. ¿Qué es lo que no funciona?
La unidad UIApp no hace uso de la función FindWindow justamente por los motivos que explico en
mi página. Para usar la unidad únicamente tienes que incluirla en el archivo dpr (menú Project|View Source):
Código Delphi
[-]
program Project1;
uses
UIApp,
Forms,
Unit1 in 'Unit1.pas' ;
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Únicamente con esto se impide la ejecución de la segunda instancia.
Acabo de probar con Delphi 5 y funciona bien.
// Saludos