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