Función GetWindowTextA (winuser.h)
Copia el texto de la barra de título de la ventana especificada (si tiene uno) en un búfer. Si la ventana especificada es un control, se copia el texto del control. Sin embargo, GetWindowText no puede recuperar el texto de un control en otra aplicación.
Sintaxis
int GetWindowTextA(
[in] HWND hWnd,
[out] LPSTR lpString,
[in] int nMaxCount
);
Parámetros
[in] hWnd
Tipo: HWND
Identificador de la ventana o control que contiene el texto.
[out] lpString
Tipo: LPTSTR de
Búfer que recibirá el texto. Si la cadena es tan larga o más larga que el búfer, la cadena se trunca y finaliza con un carácter NULL.
[in] nMaxCount
Tipo: int
Número máximo de caracteres que se van a copiar en el búfer, incluido el carácter NULL. Si el texto supera este límite, se trunca.
Valor devuelto
Tipo: int
Si la función se ejecuta correctamente, el valor devuelto es la longitud, en caracteres, de la cadena copiada, sin incluir el carácter nulo de terminación. Si la ventana no tiene ninguna barra de título o texto, si la barra de título está vacía o si el identificador de ventana o control no es válido, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Esta función no puede recuperar el texto de un control de edición en otra aplicación.
Observaciones
Si la ventana de destino es propiedad del proceso actual, GetWindowText hace que se envíe un mensaje WM_GETTEXT a la ventana o control especificados. Si la ventana de destino es propiedad de otro proceso y tiene un título, GetWindowText recupera el texto del título de la ventana. Si la ventana no tiene un título, el valor devuelto es una cadena nula. Este comportamiento es por diseño. Permite que las aplicaciones llamen a GetWindowText sin dejar de responder si el proceso que posee la ventana de destino no responde. Sin embargo, si la ventana de destino no responde y pertenece a la aplicación que realiza la llamada, GetWindowText hará que la aplicación que realiza la llamada deje de responder.
Para recuperar el texto de un control en otro proceso, envíe un mensaje de WM_GETTEXT directamente en lugar de llamar a GetWindowText.
Ejemplos
En el código de ejemplo siguiente se muestra una llamada a GetWindowTextA.
hwndCombo = GetDlgItem(hwndDlg, IDD_COMBO);
cTxtLen = GetWindowTextLength(hwndCombo);
// Allocate memory for the string and copy
// the string into the memory.
pszMem = (PSTR) VirtualAlloc((LPVOID) NULL,
(DWORD) (cTxtLen + 1), MEM_COMMIT,
PAGE_READWRITE);
GetWindowText(hwndCombo, pszMem,
cTxtLen + 1);
Para ver este ejemplo en contexto, vea Enviar un mensaje.
Nota
El encabezado winuser.h define GetWindowText como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 2000 Professional [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows 2000 Server [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
winuser.h (incluya Windows.h) |
biblioteca de |
User32.lib |
DLL de |
User32.dll |
conjunto de API de |
ext-ms-win-ntuser-window-l1-1-4 (introducido en Windows 10, versión 10.0.14393) |
Consulte también
conceptual de
de referencia de