Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Activar una aplicación, incluso cuando se encuentre iconizada (https://www.clubdelphi.com/foros/showthread.php?t=80430)

dec 01-07-2006 23:34:10

Activar una aplicación, incluso cuando se encuentre iconizada
 
El siguiente procedimiento activa (pone al frente) una aplicación aun cuando esta se encuentre minimizada en la barra de tareas, por ejemplo.

El procedimiento se basa en el código fuente de la unidad "UIApp.pas" escrita por Román, un compañero de los Foros, y que puede encontrarse en la página Web de Román: www.romansg.net

La unidad "UIApp.pas" puede utilizarse para evitar segundas instancias de nuestra aplicación. Quien esto suscribe recomienda que se le eche un vistazo al código fuente que Román ofrece en su página Web.

Código Delphi [-]
uses
  Windows, ShellApi;

procedure ActivarApp;
var
  FgThreadId  : DWORD;
  AppThreadId : DWORD;
begin
  if IsIconic(Application.Handle) then
    ShowWindow(Application.Handle, SW_RESTORE)
  else
  begin
    FgThreadId  := GetWindowThreadProcessId(GetForegroundWindow, nil);
    AppThreadId := GetWindowThreadProcessId(Application.Handle, nil);
    AttachThreadInput(AppThreadId, FgThreadId, true);
    SetForegroundWindow(Application.Handle);
    AttachThreadInput(AppThreadId, FgThreadId, false);
  end;
end;


La franja horaria es GMT +2. Ahora son las 14:38:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi