UDF > WinAPIEx > System > Windows >


_WinAPI_SendMessageTimeout

Envoie le message spécifié à une ou plusieurs fenêtres

#include <WinAPISysWin.au3>
_WinAPI_SendMessageTimeout ( $hWnd, $iMsg [, $wParam = 0 [, $lParam = 0 [, $iTimeout = 1000 [, $iFlags = 0]]]] )

Paramètres

$hWnd Handle de la fenêtre dont la procédure fenêtre recevra le message.
$iMsg Le message à envoyer.
$wParam [optionnel] Les informations spécifiques au message.
$lParam [optionnel] Les informations spécifiques au message.
$iTimeout [optionnel] La durée, en millisecondes, de la période hors délai. Si le message est un message de diffusion, chaque fenêtre peut utiliser la période hors délai complète. Par défaut, 1000.
$iFlags [optionnel] Les flags qui spécifient comment envoyer le message.
Ce paramètre peut prendre une ou plusieurs des valeurs suivantes:
$SMTO_BLOCK
$SMTO_NORMAL
$SMTO_ABORTIFHUNG
$SMTO_NOTIMEOUTIFNOTHUNG
$SMTO_ERRORONEXIT

Valeur de retour

Succès: Retourne le résultat du traitement du message, il dépend du message envoyé.
Échec: Définit @error <> 0, @extended contient _WinAPI_GetLastError().

Remarques

Cette fonction ne fournit pas d'informations sur la durée hors délai dune fenêtre individuelle si $HWND_BROADCAST est utilisé.

Si le délai est dépassé, la fonction échoue. Si @extended est $ERROR_TIMEOUT (1460), alors la fonction a expiré.
Cette fonction considère qu'un thread ne répond pas s'il n'a pas réagit dans les cinq secondes.

Le système fait un marshalling seulement pour les messages du système (ceux dans la plage de 0 à (WM_USER-1)). Pour envoyer d'autres messages (ceux >= WM_USER) à un autre processus, vous devez faire un marshalling personnalisée.

Voir aussi

Consultez SendMessageTimeout dans la librairie MSDN.