Condividi tramite


Funzione GetWindowTextW (winuser.h)

Copia il testo della barra del titolo della finestra specificata (se presente) in un buffer. Se la finestra specificata è un controllo , il testo del controllo viene copiato. Tuttavia, GetWindowText non è in grado di recuperare il testo di un controllo in un'altra applicazione.

Sintassi

int GetWindowTextW(
  [in]  HWND   hWnd,
  [out] LPWSTR lpString,
  [in]  int    nMaxCount
);

Parametri

[in] hWnd

Tipo: HWND

Handle per la finestra o il controllo contenente il testo.

[out] lpString

Tipo: LPTSTR

Buffer che riceverà il testo. Se la stringa è lunga o più lunga del buffer, la stringa viene troncata e terminata con un carattere Null.

[in] nMaxCount

Tipo: int

Numero massimo di caratteri da copiare nel buffer, incluso il carattere Null. Se il testo supera questo limite, viene troncato.

Valore restituito

Tipo: int

Se la funzione ha esito positivo, il valore restituito è la lunghezza, in caratteri, della stringa copiata, senza includere il carattere Null di terminazione. Se la finestra non dispone di alcuna barra del titolo o testo, se la barra del titolo è vuota o se l'handle di controllo o finestra non è valido, il valore restituito è zero. Per ottenere informazioni estese sull'errore, chiamare GetLastError.

Questa funzione non può recuperare il testo di un controllo di modifica in un'altra applicazione.

Osservazioni

Se la finestra di destinazione è di proprietà del processo corrente, GetWindowText fa sì che un messaggio di WM_GETTEXT venga inviato alla finestra o al controllo specificato. Se la finestra di destinazione è di proprietà di un altro processo e ha una didascalia, GetWindowText recupera il testo della didascalia della finestra. Se la finestra non ha una didascalia, il valore restituito è una stringa Null. Questo comportamento è previsto dalla progettazione. Consente alle applicazioni di chiamare GetWindowText senza rispondere se il processo proprietario della finestra di destinazione non risponde. Tuttavia, se la finestra di destinazione non risponde e appartiene all'applicazione chiamante, GetWindowText causerà la mancata risposta dell'applicazione chiamante.

Per recuperare il testo di un controllo in un altro processo, inviare direttamente un messaggio di WM_GETTEXT anziché chiamare GetWindowText.

Esempi

Per un esempio, vedere Invio di un messaggio.

Nota

L'intestazione winuser.h definisce GetWindowText 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-4 (introdotto in Windows 10, versione 10.0.14393)

Vedere anche

concettuale

GetWindowTextLength

riferimento

SetWindowText

WM_GETTEXT

Windows