Ver Mensaje Individual
  #2  
Antiguo 16-03-2016
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.242
Reputación: 22
ElKurgan Va camino a la fama
Hombre, cerrar todas las ventanas es más o menos fácil si trabajas en windows. Podrías crear una lista con tantas ventanas como tengas abiertas.
Para cerrarlas bastaría con llamar a una función como esta (más o menos, hablo de cabeza):

Código Delphi [-]
procedure CierraVentanas(aVentanas: TstringList);
var
  i: Integer;
  Wnd: HWnd;
  pVentana: PChar;
begin
  for i := 0 To aVentanas.Count - 1 do 
  begin
    pVentana := PChar(aVentanas[i]);
    Wnd := FindWindow(nil, pVentana);            // Mira si existe la ventana
    if Wnd <> 0 then
    begin
      SendMessage(Wnd, WM_CLOSE, 0, 0);        // Envía el mensaje de cierre a Windows
    end;
  end;
end;
Otra cosa es lo de volver a llamar al login. Eso habrá que verlo con más cuidado, ya que el método propuesto arriba, si cierra la ventana principal normalmente se cierra la aplicación.

Pero como idea de partida creo que puede valer

Saludos
Responder Con Cita