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, in caratteri, del testo. In determinate condizioni, questo valore potrebbe essere maggiore della lunghezza del testo (vedere 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 GetLastError risultato diverso da zero.
Nota
Questa funzione non cancella le informazioni più recenti sull'errore. Per determinare l'esito positivo o negativo, cancellare le informazioni più recenti sull'errore chiamando SetLastError con 0, quindi chiamare GetLastError.
Osservazioni
Se la finestra di destinazione è di proprietà del processo corrente, GetWindowTextLength fa sì che un messaggio di WM_GETTEXTLENGTH venga inviato 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 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 finestre di dialogo 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 della finestra è ANSI. Per altre informazioni sulle funzioni ANSI e ANSI, vedere Conventions for Function Prototypes.
Per ottenere la lunghezza esatta del testo, usare la WM_GETTEXT, LB_GETTEXTo CB_GETLBTEXT messaggi oppure 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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional [solo app desktop] |
server minimo supportato | Windows 2000 Server [solo app desktop] |
piattaforma di destinazione | Finestre |
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) |
Vedere anche
concettuale
altre risorse
riferimento