Compartir a través de


Función GetWindowTextLengthW (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 GetWindowTextLengthW(
  [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 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 que permite la posible existencia de caracteres de doble byte (DBCS) dentro del texto. Sin embargo, el valor devuelto siempre será 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, vea 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
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 (incluya 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

CB_GETLBTEXT

Conceptual

GetWindowText

LB_GETTEXT

Otros recursos

Referencia

SetWindowText

WM_GETTEXT

WM_GETTEXTLENGTH

Windows