Функция _SendMessage

 ↑  ←  Описание функции


_SendMessage

Обёртка для часто используемых вызовов DllCall

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

Параметры

$hWnd Дескриптор окна/элемента
$iMsg Сообщение высылаемое элементу (число)
$wParam [необязательный] Задает дополнительную информацию сообщения
$lParam [необязательный] Задает дополнительную информацию сообщения
$iReturn [необязательный] Определяет возвращаемое значение:
    0 - Возвращает значение dll вызова
    1 - $ihWnd
    2 - $iMsg
    3 - $wParam
    4 - $lParam
    менее 0 или более 4 - возвращает массив аналогичный DllCall
$wParamType [необязательный] Смотрите DllCall
$lParamType [необязательный] Смотрите DllCall
$sReturnType [необязательный] Смотрите DllCall

Возвращаемое значение

Успех:Возвращает значение заданное пользователем из DllCall() результата
Ошибка:Устанавливает @error

См. также

_SendMessageA, DllCall

Пример

#include <SendMessage.au3>

_Main()

Func _Main()
    Local Const $Off = 2, $On = -1

    Opt("WinTitleMatchMode", 4)
    Local $hWnd = WinGetHandle('classname=Progman')
    _ToggleMonitor($hWnd, $Off)
    Sleep(3000)
    _ToggleMonitor($hWnd, $On)
EndFunc   ;==>_Main

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