Funzione GetWindowTextLengthA (winuser.h)

Recupera la lunghezza, in caratteri, del testo della barra del titolo della finestra specificata (se la finestra ha una barra del titolo). Se la finestra specificata è un controllo , la funzione recupera la lunghezza del testo all'interno del controllo . Tuttavia, GetWindowTextLength non può recuperare la lunghezza del testo di un controllo di modifica in un'altra applicazione.

Sintassi

int GetWindowTextLengthA(
  [in] HWND hWnd
);

Parametri

[in] hWnd

Tipo: HWND

Handle per la finestra o il controllo.

Valore restituito

Tipo: int

Se la funzione ha esito positivo, il valore restituito è la lunghezza, espressa in caratteri, del testo. In determinate condizioni, questo valore potrebbe essere maggiore della lunghezza del testo (vedere la sezione Osservazioni).

Se la finestra non contiene testo, il valore restituito è zero.

L'errore della funzione è indicato da un valore restituito pari a zero e da un risultato GetLastError diverso da zero.

Nota

Questa funzione non cancella le informazioni sull'errore più recenti. Per determinare l'esito positivo o negativo, cancellare le informazioni più recenti sull'errore chiamando SetLastError con 0, quindi chiamare GetLastError.

Commenti

Se la finestra di destinazione è di proprietà del processo corrente, GetWindowTextLength determina l'invio di un messaggio WM_GETTEXTLENGTH alla finestra o al controllo specificato.

In determinate condizioni, la funzione GetWindowTextLength può restituire un valore maggiore della lunghezza effettiva del testo. Ciò si verifica con determinate combinazioni di CARATTERI ANSI e Unicode ed è dovuto al sistema che consente la possibile esistenza di caratteri DBCS (Double-Byte Character Set) all'interno del testo. Il valore restituito, tuttavia, sarà sempre pari almeno alla lunghezza effettiva del testo; è quindi sempre possibile usarlo per guidare l'allocazione del buffer. Questo comportamento può verificarsi quando un'applicazione usa sia funzioni ANSI che dialoghi comuni, che usano Unicode. Può verificarsi anche quando un'applicazione usa la versione ANSI di GetWindowTextLength con una finestra la cui routine finestra è Unicode o la versione Unicode di GetWindowTextLength con una finestra la cui routine finestra è ANSI. Per altre informazioni sulle funzioni ANSI e ANSI, vedere Convenzioni per prototipi di funzioni.

Per ottenere la lunghezza esatta del testo, usare il WM_GETTEXT, LB_GETTEXT o CB_GETLBTEXT messaggi o la funzione GetWindowText .

Nota

L'intestazione winuser.h definisce GetWindowTextLength come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll
Set di API ext-ms-win-ntuser-window-l1-1-1 (introdotto in Windows 8.1)

Vedi anche

CB_GETLBTEXT

Informazioni concettuali

GetWindowText

LB_GETTEXT

Altre risorse

Riferimento

SetWindowText

WM_GETTEXT

WM_GETTEXTLENGTH

Windows