SendMessageTimeout

Die SendMessageTimeout -Funktion sendet die angegebene Meldung an ein Fenster oder Windows. Die Funktion Ruft die Fensterprozedur für das angegebene Fenster und, wenn das angegebene Fenster zu einem anderen Thread gehört wird nicht zurückgegeben, bis die Fensterprozedur die Nachricht verarbeitet hat oder der angegebenen Timeout-Zeitraum abgelaufen ist. Wenn das Fenster empfangen der Nachricht zu derselben Warteschlange als den aktuellen Thread gehört, ist die Fensterprozedur direkt aufgerufen — der Timeoutwert wird ignoriert.

 LRESULT SendMessageTimeout) HWND  hWnd, / / handle des ZielfensterUINTMsg, / / Nachricht sendenWPARAMwParam, / / erste message ParameterLPARAMlParam, / / zweite NachrichtenparameterUINTfuFlags, / / wie zum Senden der NachrichtUINTuTimeout, / / Timeout-DauerLPDWORDLpdwResult / / Wert für synchronen Aufruf zurückgeben);
 

Parameter

hWnd
Handle für das Fenster, dessen Fensterprozedur die Meldung angezeigt wird. Wenn dieser Parameter HWND_BROADCAST ist, wird die Nachricht an alle Fenster der obersten Ebene in das System, einschließlich behinderter oder unsichtbar ohne Besitzer Windows gesendet.
Msg
Gibt die Nachricht gesendet werden soll.
wParam
Gibt zusätzliche Message-spezifische Informationen.
lParam
Gibt zusätzliche Message-spezifische Informationen.
fuFlags
Gibt an, wie die Nachricht zu senden. Dieser Parameter kann eine Kombination der folgenden Werte sein.:
Wert Bedeutung
SMTO_ABORTIFHUNG Rücksendungen ohne Wartezeiten für den Timeoutzeitraum verstreichen, wenn der empfangende Prozess erscheint in einem "hung" Zustand.
SMTO_BLOCK Verhindert, dass den aufrufenden Thread anderen Anforderungen verarbeitet, bis die Funktion zurückgibt.
SMTO_NORMAL Der aufrufende Thread ist nicht daran gehindert, Verarbeitung anderer Anforderungen während des Wartens auf die Funktion zurück.
SMTO_NOTIMEOUTIFNOTHUNG Windows NT 5.0 und höher: Wird nicht zurückgegeben, wenn das Zeitlimit verstreicht, wenn der empfangende Thread nicht mehr reagiert.

uTimeout
Gibt die Dauer in Millisekunden, den Timeout-Zeitraum. Wenn die Nachricht eine broadcast-Nachricht ist, jedes Fenster kann uns die vollständige Timeout-Zeitraum. Beispielsweise wenn Sie einen Zeitraum von 5 Sekunden Timeout angeben, und es gibt drei Fenster der obersten Ebene, die zur Verarbeitung der Nachricht nicht, hätte Sie zu einem 15 Sekunden Verzögerung bis.
lpdwResult
Gibt das Ergebnis der Nachrichtenverarbeitung und hängt von der gesendeten Nachricht.

Rückgabewerte

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich NULL.

Wenn die Funktion fehlschlägt oder ein Timeout, ist der Rückgabewert 0 (null). Rufen Sie Fehlerinformationen verlängert bekommen, GetLastError. Wenn GetLastError gibt 0 (null) zurück, dann timed die Funktion out. SendMessageTimeout bietet keine Informationen über einzelne Windows Timeout, wenn HWND_BROADCAST verwendet wird.

QuickInfo

&Nbsp; Windows NT: Version 3.1 oder höher erforderlich.
Windows:Erfordert Windows 95 oder höher.
Windows CE:Nicht unterstützt.
Header:In winuser.h deklarierten.
Importieren Bibliothek:Verwenden Sie user32.lib.
Unicode:Als Unicode und ANSI-Versionen unter Windows NT implementiert.

Siehe auch

Nachrichten und Message Queues Übersicht, Message und Message Queue-Funktionen, InSendMessage, PostMessage, SendDlgItemMessage, SendMessage, SendMessageCallback, SendNotifyMessage

Index