Funzione SendNotifyMessageA (winuser.h)
Invia il messaggio specificato a una finestra o a una finestra. Se la finestra è stata creata dal thread chiamante, SendNotifyMessage chiama la routine della finestra per la finestra e non restituisce finché la routine della finestra non ha elaborato il messaggio. Se la finestra è stata creata da un thread diverso, SendNotifyMessage passa il messaggio alla routine della finestra e restituisce immediatamente; non attende che la routine della finestra finisca l'elaborazione del messaggio.
Sintassi
BOOL SendNotifyMessageA(
[in] HWND hWnd,
[in] UINT Msg,
[in] WPARAM wParam,
[in] LPARAM lParam
);
Parametri
[in] hWnd
Tipo: HWND
Handle per la finestra la cui routine della finestra riceverà il messaggio. Se questo parametro è HWND_BROADCAST ((HWND)0xffff), il messaggio viene inviato a tutte le finestre di primo livello del sistema, incluse finestre disabilitate o invisibili, finestre sovrapposte e finestre popup; ma il messaggio non viene inviato alle finestre figlio.
[in] Msg
Tipo: UINT
Messaggio da inviare.
Per gli elenchi dei messaggi forniti dal sistema, vedere System-Defined Messaggi.
[in] wParam
Tipo: WPARAM
Informazioni aggiuntive specifiche del messaggio.
[in] lParam
Tipo: LPARAM
Informazioni aggiuntive specifiche del messaggio.
Valore restituito
Tipo: bool
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni estese sull'errore, chiamare GetLastError.
Osservazioni
Se si invia un messaggio nell'intervallo seguente WM_USER alle funzioni di messaggio asincrone (PostMessage, SendNotifyMessagee SendMessageCallback), i parametri del messaggio non possono includere puntatori. In caso contrario, l'operazione avrà esito negativo. Le funzioni verranno restituite prima che il thread di ricezione abbia avuto la possibilità di elaborare il messaggio e il mittente libera la memoria prima che venga usata.
Le applicazioni che devono comunicare tramite
Il sistema esegue solo il marshalling per i messaggi di sistema (quelli compresi nell'intervallo da 0 a (WM_USER-1)). Per inviare altri messaggi (quelli >= WM_USER) a un altro processo, è necessario eseguire il marshalling personalizzato.
Nota
L'intestazione winuser.h definisce SendNotifyMessage 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-message-l1-1-3 (introdotto in Windows 10, versione 10.0.14393) |
Vedere anche
concettuale
riferimento