SendMessageTimeout

La funzione SendMessageTimeout invia il messaggio specificato per una finestra o windows. La funzione chiama la routine della finestra per la finestra specificata e, se la finestra specificata appartiene a un thread diverso, non viene restituito finché la routine della finestra ha elaborato il messaggio o è trascorso il periodo di timeout specificato. Se la finestra di ricezione del messaggio appartiene alla stessa coda come il thread corrente, la routine della finestra viene chiamata direttamente — il valore di timeout viene ignorato.

 (LRESULT SendMessageTimeout HWND  hWnd, / / handle di finestra di destinazioneUINTMsg, / / il messaggio da inviareWPARAMwParam, / / messaggio primo parametroLPARAMlParam, / / secondo parametro messageUINTfuFlags, / / come inviare il messaggioUINTuTimeout, / / durata timeoutLPDWORDlpdwResult / / return valore per chiamata sincrona);
 

Parametri

hWnd
Handle per la finestra in cui la routine della finestra verrà visualizzato il messaggio. Se questo parametro è HWND_BROADCAST, il messaggio viene inviato a tutte le finestre di primo livello nel sistema, compresi i disabili o invisibile unowned windows.
Msg
Specificare il messaggio da inviare.
wParam
Specifica informazioni aggiuntive specifiche del messaggio.
lParam
Specifica informazioni aggiuntive specifiche del messaggio.
fuFlags
Specifica la modalità di invio del messaggio. Questo parametro può essere una combinazione dei seguenti valori:
Valore Significato
SMTO_ABORTIFHUNG Restituisce senza attendere il periodo di timeout trascorrere se il ricevente processo sembra essere in uno stato "appeso".
SMTO_BLOCK Impedisce che il thread chiamante eventuali altre richieste di elaborazione fino a quando la funzione restituisce.
SMTO_NORMAL Il thread chiamante non è impedito di elaborazione delle richieste di altre durante l'attesa per la funzione di tornare.
SMTO_NOTIMEOUTIFNOTHUNG Windows NT 5.0 e versioni successive: Non restituisce quando il periodo di timeout scade se il thread ricevente non è appeso.

uTimeout
Specifica la durata, in millisecondi, per il periodo di timeout. Se il messaggio è un messaggio broadcast, ogni finestra ci può il periodo di timeout completo. Ad esempio, se si specifica un periodo di timeout di 5 secondi e ci sono tre finestre di primo livello che non riescono a elaborare il messaggio, si potrebbe avere a un ritardo di 15 secondi.
lpdwResult
Specifica il risultato dell'elaborazione del messaggio e dipende il messaggio inviato.

Valori restituiti

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione non riesce o time out, il valore restituito è pari a zero. Per ottenere informazioni di errore estese, chiamare GetLastError. Se GetLastError restituisce zero, allora la funzione scaduta. SendMessageTimeout non fornisce informazioni sulle singole finestre scaduta se viene utilizzato HWND_BROADCAST.

Descrizione

nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Non supportato.
Intestazione:Dichiarati in winuser.
Importare librerie:Utilizzare user32.lib.
Unicode:Implementato come versioni Unicode e ANSI su Windows NT.

Vedi anche

Messaggi e panoramica delle code di messaggi, messaggio e funzioni di coda dei messaggi, InSendMessage, PostMessage, SendDlgItemMessage, SendMessage, SendMessageCallback, SendNotifyMessage

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index