Gracias! Es justo lo que necesitaba, otra vez Club Delphi al rescate !!!
Lo usé en 2 aplicaciones. En una no tuve problemas, en la otra me tiró el siguiente error al compilar
Ambiguous overloaded call to 'GetWindowThreadProcessId' porque se ve que habia alguna otra unidad que usaba GetWindowThreadProcessId pero lo solucioné poniendo
Windows.GetWindowThreadProcessId(GetForegroundWindow, nil);
Saludos !