Función GetWindowTextLengthA (winuser.h)
Recupera la longitud, en caracteres, del texto de la barra de título de la ventana especificada (si la ventana tiene una barra de título). Si la ventana especificada es un control, la función recupera la longitud del texto dentro del control . Sin embargo, GetWindowTextLength no puede recuperar la longitud del texto de un control de edición en otra aplicación.
Sintaxis
int GetWindowTextLengthA(
[in] HWND hWnd
);
Parámetros
[in] hWnd
Tipo: HWND
Identificador de la ventana o control.
Valor devuelto
Tipo: int
Si la función se ejecuta correctamente, el valor devuelto es la longitud, en caracteres, del texto. En determinadas condiciones, este valor puede ser mayor que la longitud del texto (vea comentarios).
Si la ventana no tiene texto, el valor devuelto es cero.
El error de función se indica mediante un valor devuelto de cero y un resultado GetLastError distinto de cero.
Nota
Esta función no borra la información de error más reciente. Para determinar el éxito o el error, borre la información de error más reciente llamando a SetLastError con 0 y, a continuación, llame a GetLastError.
Comentarios
Si la ventana de destino es propiedad del proceso actual, GetWindowTextLength hace que se envíe un mensaje de WM_GETTEXTLENGTH a la ventana o control especificados.
En determinadas condiciones, la función GetWindowTextLength puede devolver un valor mayor que la longitud real del texto. Esto ocurre con ciertas mezclas de ANSI y Unicode, y se debe al sistema, lo que permite la posible existencia de caracteres de juego de caracteres de doble byte (DBCS) dentro del texto. Sin embargo, el valor devuelto siempre será al menos tan grande como la longitud real del texto; Por lo tanto, siempre puede usarlo para guiar la asignación del búfer. Este comportamiento puede producirse cuando una aplicación usa funciones ANSI y diálogos comunes, que usan Unicode. También puede ocurrir cuando una aplicación usa la versión ANSI de GetWindowTextLength con una ventana cuyo procedimiento de ventana es Unicode o la versión Unicode de GetWindowTextLength con una ventana cuyo procedimiento de ventana es ANSI. Para obtener más información sobre las funciones ANSI y ANSI, consulte Convenciones para prototipos de función.
Para obtener la longitud exacta del texto, use el WM_GETTEXT, LB_GETTEXT o CB_GETLBTEXT mensajes, o la función GetWindowText .
Nota
El encabezado winuser.h define GetWindowTextLength 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 Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winuser.h (incluir Windows.h) |
Library | User32.lib |
Archivo DLL | User32.dll |
Conjunto de API | ext-ms-win-ntuser-window-l1-1-1 (introducido en Windows 8.1) |
Consulte también
Conceptual
Otros recursos
Referencia