Funzione GetWindowTextLengthW (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 GetWindowTextLengthW(
  [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, in caratteri, del testo. In determinate condizioni, questo valore potrebbe essere maggiore della lunghezza del testo (vedere Osservazioni).

Se la finestra non ha 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 di errore più recenti. Per determinare l'esito positivo o l'errore, cancellare le informazioni di errore più recenti chiamando SetLastError con 0, quindi chiamare GetLastError.

Commenti

Se la finestra di destinazione è di proprietà del processo corrente, GetWindowTextLength causa l'invio di un messaggio di 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 l'esistenza possibile di caratteri dbCS (Double Byte Character Set) all'interno del testo. Il valore restituito, tuttavia, sarà sempre maggiore della lunghezza effettiva del testo; è quindi possibile usarlo sempre 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 procedura di finestra è Unicode o la versione Unicode di GetWindowTextLength con una finestra la cui procedura di finestra è ANSI. Per altre informazioni sulle funzioni ANSI e ANSI, vedere Convenzioni per i prototipi di funzione.

Per ottenere la lunghezza esatta del testo, usare la WM_GETTEXT, la LB_GETTEXT o i messaggi CB_GETLBTEXT 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 preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

   
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