Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Saber que aplicacion tiene el foco (https://www.clubdelphi.com/foros/showthread.php?t=58239)

Omega 13-07-2008 15:51:38

Saber que aplicacion tiene el foco
 
Hola, aquí estoy de nuevo dando la lata haber si me pueden ayudar. :o

La cosa es, ¿Es posible saber con Delphi que aplicación tiene el foco? En caso afirmativo, ¿Como?

Saludos.

roman 13-07-2008 16:42:18

Posiblemente te sirva GetForegroundWindow de la API de Windows.

// Saludos

dec 13-07-2008 16:42:22

Hola,

Con la función del API de Windows "GetForegroundWindow()" obtenemos el "Handle" de la ventana en primer plano. A partir de ahí, la verdad es que no estoy muy puesto, pero, por ejemplo, podríamos obtener el título de la ventana con la función "GetWindowText()", que, justamente, necesita el "Handle" de una ventana.

Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
var
  h: THandle;
  p: array[0..MAX_PATH] of Char;
begin
  h := GetForegroundWindow();
  if (h <> 0) then begin
    GetWindowText(h, p, SizeOf(p));
    Caption := StrPas(p);
  end;
end;

Omega 13-07-2008 17:36:01

Muchas gracias a los dos, funciona perfectamente. Ahora haber si puedo hacer lo que yo quiero, bloquear el ALT en una ventana...


La franja horaria es GMT +2. Ahora son las 20:54:15.

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