Что нового

Привязка ID к _WinAPI_GetCursorInfo() и дальнейшее действие при нахождение его

scanfail

Знающий
Сообщения
244
Репутация
17
В силу того, что знания мои в AutoIt не велики, а прочитав справку, ответа найти я не смог, обращаюсь к вам. Есть функция _WinAPI_GetCursorInfo(), а есть еще и вот такой скрипт(автора указать не смогу, не смог найти тему, уж простит он меня):
Код:
#include <WinAPIEx.au3>

Global $Cursor_id_1, $Cursor_id_2

;==============================
HotKeySet("{Enter}", "_Enter")
$i=False
Do
    ToolTip ( " Наведите курсор на цель (на моба) и нажмите клавишу Enter " )
    Sleep(20)
Until $i
Func _Enter()
    $Cursor_id_1 = _WinAPI_GetCursorInfo()
    $i = True
    HotKeySet("{Enter}");Удалить HotKey
EndFunc
;==============================


While 1
     $Cursor_id_2 = _WinAPI_GetCursorInfo()
    If $Cursor_id_1[2] = $Cursor_id_2[2] Then
        ToolTip ( " Цель найдена " )
    Else
        ToolTip ( " Идет поиск цели... " )
    EndIf
    Sleep(20)
WEnd

Тут как можно увидеть, наводим курсор на нужную нам цель, далее жмем на Enter, обозначая нужный нам курсор, при изменение курсора на выделенный нами, происходит действие(в случае кода, изменяется текст в ToolTip-e).

Мне бы пример этого скрипта в другом варианте, хотелось бы добавить к нему заранее заданный мною ID(я точно не знаю, каким способом он распознает курсор, то ли по ID, то ли по чему-нибудь другому...) и при изменение на этот ID(или что там) произошли бы заранее заданные мною действия.

Примечик бы не помешал :whistle:
 

lirikmel

Продвинутый
Сообщения
226
Репутация
84
запусти вот так поймешь как устроено



Код:
#include <WinAPIEx.au3>
         #include <Array.au3>

Global $Cursor_id_1, $Cursor_id_2

;==============================
HotKeySet("{Enter}", "_Enter")
$i=False
Do
    ToolTip ( " Наведите курсор на цель (на моба) и нажмите клавишу Enter " )
    Sleep(20)
Until $i
Func _Enter()
    $Cursor_id_1 = _WinAPI_GetCursorInfo()
    _ArrayDisplay($Cursor_id_1, "массив для исходного значения курсора")
$i = True
    HotKeySet("{Enter}");Удалить HotKey
EndFunc
;==============================


While 1
     $Cursor_id_2 = _WinAPI_GetCursorInfo()
    If $Cursor_id_1[2] = $Cursor_id_2[2] Then ; если текущий id курсора равен исходному то 
_ArrayDisplay($Cursor_id_2, "текущий ид курсора совпал с исходным")

        ToolTip ( " Цель найдена " )
    Else
        ToolTip ( " Идет поиск цели... " )
    EndIf
    Sleep(20)
WEnd
 
Верх