Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
пока запущена определённая функция (в цикле), нажатие мышки (левую кнопку) нужно отключить, но чтобы можно было отследить, нажал ли юзер на эту кнопку »
собственно, аналогично клавиатуре
Код: Выделить весь код
Global Const $WH_MOUSE_LL = 14

Global $hKeyProc = DllCallbackRegister ("_KeyProc", "int", "int;ptr;ptr")
Global $hmod = DllCall("kernel32.dll","hwnd","GetModuleHandle","ptr",0)

MsgBox(4096, "", 'После нажатия "Ok" левая кнопка мыши будет заблокирована на 10 сек.')
Global $hHook = DllCall("user32.dll","hwnd","SetWindowsHookEx","int", $WH_MOUSE_LL, _
    "ptr", DllCallbackGetPtr($hKeyProc), "hwnd", $hmod[0], "dword", 0)
Sleep(10000)
MsgBox(4096, "", 'Для разблокирования мышки нажмите "Ок"! ;)')
Exit

Func _KeyProc($nCode, $wParam, $lParam)
    If $nCode < 0 Or ($wParam<>0x201 And $wParam<>0x202) Then
        $ret = DllCall("user32.dll","long","CallNextHookEx","hwnd", $hHook[0], _
            "int", $nCode, "ptr", $wParam, "ptr", $lParam)
        Return $ret[0]
    EndIf
    Return 1
EndFunc

Func OnAutoItExit()
    DllCall("user32.dll","int","UnhookWindowsHookEx","hwnd",$hHook[0])
    DllCallbackFree($hKeyProc)
EndFunc
Цитата Creat0R:
А по поводу моей проблемы с мышкой, есть идеи что можно придумать? »
тестил...
Цитата Creat0R:
как это использовать из функции, ведь hWnd нам не известен »
ну, видимо перебрать все окна с одинаковыми титлами и найти своё...
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:53, 12-02-2008 | #122