Função GetWindowTextLengthA (winuser.h)

Recupera o comprimento, em caracteres, do texto da barra de título da janela especificada (se a janela tiver uma barra de título). Se a janela especificada for um controle, a função recuperará o comprimento do texto dentro do controle . No entanto, GetWindowTextLength não pode recuperar o comprimento do texto de um controle de edição em outro aplicativo.

Sintaxe

int GetWindowTextLengthA(
  [in] HWND hWnd
);

Parâmetros

[in] hWnd

Digite: HWND

Um identificador para a janela ou controle.

Retornar valor

Tipo: int

Se a função for bem-sucedida, o valor retornado será o comprimento, em caracteres, do texto. Em determinadas condições, esse valor pode ser maior que o comprimento do texto (consulte Comentários).

Se a janela não tiver texto, o valor retornado será zero.

A falha de função é indicada por um valor retornado igual a zero e um resultado GetLastError diferente de zero.

Observação

Essa função não limpa as informações de erro mais recentes. Para determinar o êxito ou a falha, limpe as informações de erro mais recentes chamando SetLastError com 0 e, em seguida, chame GetLastError.

Comentários

Se a janela de destino pertencer ao processo atual, GetWindowTextLength fará com que uma mensagem WM_GETTEXTLENGTH seja enviada para a janela ou controle especificado.

Em determinadas condições, a função GetWindowTextLength pode retornar um valor maior que o comprimento real do texto. Isso ocorre com determinadas misturas de ANSI e Unicode e se deve ao sistema que permite a possível existência de caracteres DBCS (conjunto de caracteres de byte duplo) dentro do texto. O valor retornado, no entanto, sempre será pelo menos tão grande quanto o comprimento real do texto; Assim, você sempre pode usá-lo para orientar a alocação de buffer. Esse comportamento pode ocorrer quando um aplicativo usa funções ANSI e caixas de diálogo comuns, que usam Unicode. Também pode ocorrer quando um aplicativo usa a versão ANSI de GetWindowTextLength com uma janela cujo procedimento de janela é Unicode ou a versão Unicode de GetWindowTextLength com uma janela cujo procedimento de janela é ANSI. Para obter mais informações sobre as funções ANSI e ANSI, consulte Convenções para protótipos de função.

Para obter o comprimento exato do texto, use as mensagens WM_GETTEXT, LB_GETTEXT ou CB_GETLBTEXT ou a função GetWindowText .

Observação

O cabeçalho winuser.h define GetWindowTextLength como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll
Conjunto de APIs ext-ms-win-ntuser-window-l1-1-1 (introduzido no Windows 8.1)

Confira também

CB_GETLBTEXT

Conceitual

Getwindowtext

LB_GETTEXT

Outros recursos

Referência

Setwindowtext

WM_GETTEXT

WM_GETTEXTLENGTH

Windows