Ver Mensaje Individual
  #2  
Antiguo 19-04-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
En la pagina de roman puedes encontrar el codigo para evitar que una aplicación pueda ejecutarse más de una vez. Dentro de este codigo se incluye un trocito encargado de traer la aplicacion la frente de forma adecuada.

Código:
// copiado de la pagina de roman
var
  FgThreadId  : DWORD; { Hilo de la app. que tenga el foco }
  AppThreadId : DWORD; { Hilo de nuestra aplicación        }
begin
  { Obtener los hilos }
  FgThreadId  := GetWindowThreadProcessId(GetForegroundWindow, nil);
  AppThreadId := GetWindowThreadProcessId(Handle, nil);

  { Anexar el hilo de nuestra app. al de la  que tenga el foco }
  AttachThreadInput(AppThreadId, FgThreadId, true);

  { Ahora sí, activar la applicación }
  SetForegroundWindow(Handle);

  { Separar el hilo de nuestra app de la otra }
  AttachThreadInput(AppThreadId, FgThreadId, false);
end;
Responder Con Cita