Что нового

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

DjSan

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

CreatoR

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

Код:
#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,671
Репутация
2,481
А если так:

Код:
#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,671
Репутация
2,481
Проблема в том, что нельзя(?) узнать была ли отпущена кнопка мышки физический или вызовом функции...
 

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,671
Репутация
2,481
Это всё не то, стабильности здесь не добиться пока не найдётся метод определения физического отпускания кнопки.
 

DjSan

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

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

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