Что нового

Мышь, клавиатура MouseOnEvent - Обработка событии мышки

DjSan

Новичок
Сообщения
7
Репутация
0
Всем привет недавно начал изучать и уже кое что написал и даже получилось) но есть вопрос:
Как сделать проклик левой кнопкой мыши т.е. при нажатии левой кнопки мышь делала многократное нажатие этой же кнопкой пока я не отпущу ее физически
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 443
Репутация
2 393
Как сделать проклик левой кнопкой мыши т.е. при нажатии левой кнопки мышь делала многократное нажатие этой же кнопкой пока я не отпущу ее физически
Как то так:

Код:
#include <MouseOnEvent.au3>

Global $bPrimaryDown = False

HotKeySet('{ESC}', '_Quit')

_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, '_MousePrimary_Event')
_MouseSetOnEvent($MOUSE_PRIMARYUP_EVENT, '_MousePrimary_Event')

While 1
    Sleep(10)
    
    If $bPrimaryDown Then
        MouseDown('Main')
    EndIf
WEnd

Func _Quit()
    Exit
EndFunc

Func _MousePrimary_Event($iEvent)
    Switch $iEvent
        Case $MOUSE_PRIMARYDOWN_EVENT
            $bPrimaryDown = True
        Case $MOUSE_PRIMARYUP_EVENT
            $bPrimaryDown = False
    EndSwitch
EndFunc
 

DjSan

Новичок
Сообщения
7
Репутация
0
Как то так:

Код:
#include <MouseOnEvent.au3>

Global $bPrimaryDown = False

HotKeySet('{ESC}', '_Quit')

_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, '_MousePrimary_Event')
_MouseSetOnEvent($MOUSE_PRIMARYUP_EVENT, '_MousePrimary_Event')

While 1
    Sleep(10)
   
    If $bPrimaryDown Then
        MouseDown('Main')
    EndIf
WEnd

Func _Quit()
    Exit
EndFunc

Func _MousePrimary_Event($iEvent)
    Switch $iEvent
        Case $MOUSE_PRIMARYDOWN_EVENT
            $bPrimaryDown = True
        Case $MOUSE_PRIMARYUP_EVENT
            $bPrimaryDown = False
    EndSwitch
EndFunc
прям сейчас и проверю)) спасибо за супер быстрый ответ)) а то по логам думал ждать и ждать)
Сообщение автоматически объединено:

прям сейчас и проверю)) спасибо за супер быстрый ответ)) а то по логам думал ждать и ждать)
Проверил возникает та же проблема что было у меня
а именно не срабатывание отжатия левой кнопки не часто но есть
очень нужно если не трудно помогите с решением)
Сообщение автоматически объединено:

Проверил возникает та же проблема что было у меня
а именно не срабатывание отжатия левой кнопки не часто но есть
очень нужно если не трудно помогите с решением)

простите не туда написал
 
Последнее редактирование:
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 443
Репутация
2 393
А если так:

Код:
#include <MouseOnEvent.au3>

Global $bPrimaryDown = False
Global $bPrimaryUp = False

HotKeySet('{ESC}', '_Quit')

_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, '_MousePrimary_Event')
_MouseSetOnEvent($MOUSE_PRIMARYUP_EVENT, '_MousePrimary_Event')

While 1
    Sleep(10)
    
    If $bPrimaryDown Then
        MouseDown('Main')
    ElseIf $bPrimaryUp Then
        $bPrimaryUp = False
        MouseUp('Main')
    EndIf
WEnd

Func _Quit()
    Exit
EndFunc

Func _MousePrimary_Event($iEvent)
    Switch $iEvent
        Case $MOUSE_PRIMARYDOWN_EVENT
            $bPrimaryDown = True
        Case $MOUSE_PRIMARYUP_EVENT
            $bPrimaryDown = False
            $bPrimaryUp = True
    EndSwitch
EndFunc
 

DjSan

Новичок
Сообщения
7
Репутация
0
А если так:

Код:
#include <MouseOnEvent.au3>

Global $bPrimaryDown = False
Global $bPrimaryUp = False

HotKeySet('{ESC}', '_Quit')

_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, '_MousePrimary_Event')
_MouseSetOnEvent($MOUSE_PRIMARYUP_EVENT, '_MousePrimary_Event')

While 1
    Sleep(10)
 
    If $bPrimaryDown Then
        MouseDown('Main')
    ElseIf $bPrimaryUp Then
        $bPrimaryUp = False
        MouseUp('Main')
    EndIf
WEnd

Func _Quit()
    Exit
EndFunc

Func _MousePrimary_Event($iEvent)
    Switch $iEvent
        Case $MOUSE_PRIMARYDOWN_EVENT
            $bPrimaryDown = True
        Case $MOUSE_PRIMARYUP_EVENT
            $bPrimaryDown = False
            $bPrimaryUp = True
    EndSwitch
EndFunc

работает но не совсем если держать на текстом то срабатывает но если на кнопке то жмет один раз и все и иногда жутко зависает(((
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 443
Репутация
2 393
Проблема в том, что нельзя(?) узнать была ли отпущена кнопка мышки физический или вызовом функции...
 

DjSan

Новичок
Сообщения
7
Репутация
0
Проблема в том, что нельзя(?) узнать была ли отпущена кнопка мышки физический или вызовом функции...
да я это понимаю вот думал может все же есть.
В низу код принцип тот же, работает норм, но иногда очень редко бывает, что продолжает кликать хотя кнопка отпущена.
Может глянете и подскажите где что либо не учел)

Код:
#include <MouseOnEvent.au3>
#include <Misc.au3>

HotKeySet("{F8}","Exitt")

Global $f=0

While 1
   If _IsPressed("01") = 1 and $f = 0 Then
      MouseUp("Left")
      $f=1
   EndIf
   If $f = 1 Then
       MouseDown("Left")
       $f=0
    EndIf
   Sleep(10)
WEnd

Func Exitt()
   Exit
EndFunc
 
Последнее редактирование:
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 443
Репутация
2 393
Это всё не то, стабильности здесь не добиться пока не найдётся метод определения физического отпускания кнопки.
 

DjSan

Новичок
Сообщения
7
Репутация
0
Это всё не то, стабильности здесь не добиться пока не найдётся метод определения физического отпускания кнопки.
Понял спасибо за помощь пока оставлю так до лучших времен)
Сообщение автоматически объединено:

Всем привет, тут были посты при использовании функции _MouseSetOnEvent происходит замедлении курсора особенно в играх но ответа как исправить так и не было.
если есть решение напишите пожалуйста.
у меня на win10 pro 64 такой проблемы нет, но есть на других пк с той же виндой, различие только в мышке.
 
Последнее редактирование:
Верх