Recuperar el texto mostrado en la barra de título de cualquier ventana

2419 vistas

A veces puede ser útil recuperar el texto mostrado en la barra de título de alguna de las ventanas (fuera de nuestra aplicación). Ésto será sencillo con la ayuda del API de Windows.

En el siguiente ejemplo, recuperaremos el caption de la ventana activa.



delphi
  1. function GetActiveWindowCaption: string;
  2. var
  3.   h : hwnd;
  4.   sz: Integer;
  5. begin
  6.   // Lo primero es recuperar el handle de la ventana de primer plano
  7.   h := GetForegroundWindow;
  8.  
  9.   // Cambiamos la dimensión de la cadena de retorno para que pueda contener el texto
  10.   // (debido a que aun no conocemos su longitud).
  11.   SetLength(Result, 255);
  12.  
  13.   // Hacemos la llamada a la función del API para obtener el texto de la ventana
  14.   sz := GetWindowText(h, PChar(Result), 255);
  15.  
  16.   // Redimensionamos la cadena para eliminar los carácteres sobrantes
  17.   SetLength(Result, sz);
  18. end;