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]]]] )
$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 |
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(). |
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.
Consultez SendMessageTimeout dans la librairie MSDN.