UDF > SendMessage >


_SendMessage

Wrapper pour utiliser couramment des appels à une DLL

#include <SendMessage.au3>
_SendMessage ( $hWnd, $iMsg [, $wParam = 0 [, $lParam = 0 [, $iReturn = 0 [, $wParamType = "wparam" [, $lParamType = "lparam" [, $sReturnType = "lresult"]]]]]] )

Paramètres

$hWnd Handle de Fenêtre ou de Contrôle
$iMsg Message à envoyer au contrôle (nombre)
$wParam [optionnel] Indique des informations spécifiques de message supplémentaire
$lParam [optionnel] Indique des informations spécifiques de message supplémentaire
$iReturn [optionnel] Définit ce que la fonction doit retourner:
    0 - Valeur retournée par l'appel à la DLL
    1 - $ihWnd
    2 - $iMsg
    3 - $wParam
    4 - $lParam
    <0 or > 4 - Tableau comme celui de DllCall()
$wParamType [optionnel] Voir Liens dans DllCall
$lParamType [optionnel] Voir Liens dans DllCall
$sReturnType [optionnel] Voir Liens dans DllCall

Valeur de retour

Succès: Retourne la valeur sélectionnée par l'utilisateur à partir du résultat de DllCall().
Échec: Définit @error <> 0.

Remarque

Quand un message est bloqué par UIPI, la dernière erreur, récupérée par _WinAPI_GetLastError() , est définie à 5 (accès refusé).

En relation

DllCall(), _SendMessageA, _WinAPI_GetLastError

Exemple

#include <MsgBoxConstants.au3>
#include <SendMessage.au3>

Example()

Func Example()
    Local Const $iOff = 2, $iOn = -1

    Opt("WinTitleMatchMode", 4)
    Local $hWnd = WinGetHandle('classname=Progman')
    _ToggleMonitor($hWnd, $iOff)
    Sleep(3000)
    _ToggleMonitor($hWnd, $iOn)
EndFunc   ;==>Example

Func _ToggleMonitor($hWnd, $iOnOff)
    Local Const $WM_SYSCOMMAND = 274
    Local Const $SC_MONITORPOWER = 61808
    _SendMessage($hWnd, $WM_SYSCOMMAND, $SC_MONITORPOWER, $iOnOff)
    If @error Then
        MsgBox($MB_SYSTEMMODAL, "_ToggleMonitor", "Erreur _SendMessage: " & @error)
        Exit
    EndIf
EndFunc   ;==>_ToggleMonitor