|
|
|
Arduino, Нажатия мыши и клавиатуры в обход защиты от кликеров |
|
|
cirus |
14.12.2020, 0:24
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 27518
Пользователь №: 16.971
Возраст: 29
|
Скетч и модуль lua:
Arduino.zip ( 7,33 килобайт )
Кол-во скачиваний: 1580Драйвер для ардуино:
CH341SER.zip ( 185,9 килобайт )
Кол-во скачиваний: 2017Arduino позволяет эмулировать нажатия клавиш клавиатуры и мыши, в том числе в приложениях, которые блокируют нажатия кликеров. Может поворачивать камеру в шутерах и играх, в которых камера поворачивается с зажатой правой кнопкой мыши. Дополнительная информация по обходу защиты в MMORPG. Работает только с активным окном.
Необходимое устройство и установка ПО
1. Требуется плата Arduino micro или Arduino Leonardo. Заказать можно на Aliexpress. 2. Скачать и установить Arduino IDE. https://www.arduino.cc/en/software ( Windows Win7 and newer) 3. Скачать и установить драйвер CH341SER (ссылка вначале темы). 4. Открыть Arduino IDE, пункт меню 'Инструменты', выбрать тип платы и порт. 5. Скачать архив arduino.zip (ссылка вначале темы) и извлечь его. Файл arduino.lua закинуть в папку, в которой находится exe пилота. Скетч загрузить в ардуино. Для этого скопировать содержимое файла Скетч.txt, вставить в Arduino IDE, нажать кнопку 'Загрузка'. Требования
Пилот версии 2.41 или выше. Запускать от администратора. Для работы функций мыши нужно в настройках мыши снять галочку 'Включить повышенную точность установки указателя'. В функцию get_port (2341, 8036) нужно передавать vid и pid ардуино. Узнать их можно в Arduino IDE, пункт меню 'Инструменты', 'Получить информацию о плате'. При переполнении буфера, хотя такого не должно быть, 3 секунды будет гореть встроенный светодиод L. В этом случае нужно увеличить паузы между нажатиями клавиш мыши/клавиатуры. Все координаты в командах мыши указывать абсолютные, т. е. относительно левого верхнего угла экрана.
Список функций
get_port (vid, pid) -- узнать в каком com порте находится ардуино
set_delay_key (ms) -- установить задержку нажатий клавиатуры set_delay_mouse (ms) -- установить задержку нажатий мыши set_delay_mousemove(ms) -- установить паузу в мсек между каждым шагом перемещения курсора, чем меньше, тем быстрее перемещается курсор set_offset_mousemove(step) -- шаг перемещения курсора от 1 до 127, чем больше, тем быстрее перемещается курсор. set_random_delay_key(random) -- рандом в мсек между нажатием и отпусканием клавиш клавиатуры set_random_delay_mouse(random) -- рандом в мсек между нажатием и отпусканием клавиш
key (code) -- нажать клавишу клавиатуры text (text) -- отослать текст, в том числе русские символы key_down (code) -- зажать (не отжимая) клавишу клавиатуры key_up (code) -- отжать клавишу клавиатуры
mouse.move (x, y) -- переместить мышь mouse.click (x, y, button) -- кликнуть мышью, button должен содержать код клавиши мыши (смотреть список клавиш) mouse.left (x, y) -- клик левой кнопкой mouse.right (x, y) -- клик правой кнопкой mouse.middle (x, y) -- клик средней кнопкой mouse.dbl (x, y, button) -- двойной клик, button должен содержать код клавиши мыши mouse.left_dbl (x, y) -- двойной клик левой кнопкой мыши mouse.right_dbl (x, y) -- двойной клик правой кнопкой мыши mouse.middle_dbl (x, y) -- двойной клик средней кнопкой мыши mouse.down (x, y, button) -- зажать (не отжимая) кнопку мыши, button должен содержать код клавиши мыши mouse.left_down (x, y) -- зажать (не отжимая) левую кнопку мыши mouse.right_down (x, y) -- зажать (не отжимая) правую кнопку мыши mouse.middle_down (x, y) -- зажать (не отжимая) среднюю кнопку мыши mouse.up (x, y, button) -- отжать кнопку мыши, button должен содержать код клавиши мыши mouse.left_up (x, y) -- отжать левую кнопку мыши mouse.right_up (x, y) -- отжать правую кнопку мыши mouse.middle_up (x, y) -- отжать среднюю кнопку мыши mouse.drag (x, y, x2, y2) -- зажать левую кнопку мыши в точке x y, переместить в точку x2 y2 mouse.wheel_up (x, y, count) -- прокручивание колёсика мыши вверх, count - насколько щелчков прокрутить mouse.wheel_down (x, y, count) -- прокручивание колёсика мыши вниз, count - насколько щелчков прокрутить
Список многосимвольных клавиш
mouse_left_button = 1 mouse_right_button = 2 mouse_middle_button = 4
left_ctrl = 0x80 left_shift = 0x81 left_alt = 0x82 left_gui = 0x83 right_ctrl = 0x84 right_shift = 0x85 right_alt = 0x86 right_gui = 0x87 up_arrow = 0xDA down_arrow = 0xD9 left_arrow = 0xD8 right_arrow = 0xD7 backspace = 0xB2 tab = 0xB3 enter = 0xB0 esc = 0xB1 insert = 0xD1 delete = 0xD4 page_up = 0xD3 page_down = 0xD6 home = 0xD2 ["end"] = 0xD5 caps_lock = 0xC1 f1 = 0xC2 f2 = 0xC3 f3 = 0xC4 f4 = 0xC5 f5 = 0xC6 f6 = 0xC7 f7 = 0xC8 f8 = 0xC9 f9 = 0xCA f10 = 0xCB f11 = 0xCC f12 = 0xCD F1 = 0xC2 F2 = 0xC3 F3 = 0xC4 F4 = 0xC5 F5 = 0xC6 F6 = 0xC7 F7 = 0xC8 F8 = 0xC9 F9 = 0xCA F10 = 0xCB F11 = 0xCC F12 = 0xCD
Пример использования клавиатуры
Код --lua local hw = require'arduino' hw.com = hw.get_port (2341, 8036) -- указать vid и pid ардуино if hw.com < 1 then -- если номер порта меньше 1 log ('error = ' .. tostring(hw.com)) -- код ошибки, если 0 значит устройство с указанными vip и pid не найдено end_script () end hw.set_delay_key (20) -- установить паузу между нажатиями клавиш клавиатуры hw.set_random_delay_key(10) -- установить рандом между нажатием и отпускание клавиш от 0 до 9 мсек -- т. е. между нажатием и отпусканием клавиши будет пауза от 20 до 29 мсек
wait (3000) -- пауза 3 секунды чтобы переключиться на нужное окно hw.key ('k') -- нажать клавишу 'k' hw.key (hw.enter) -- нажать 'Enter'
wait (1000) -- пауза 1 сек.
hw.key_down ('s') -- зажать клавишу 's' wait (3000) -- пауза 3 сек., при этом клавиша будет зажата hw.key_up ('s') -- отпустить клавишу 's' hw.key (hw.enter) -- нажать 'Enter'
hw.text ('Hello Привет') -- напечатать текст hw.key ('V') -- нажать Shift+'v' Пример использования мыши
Код --lua local hw = require'arduino' hw.com = hw.get_port (2341, 8036) -- указать vid и pid ардуино if hw.com < 1 then -- если номер порта меньше 1 log ('error = ' .. tostring(hw.com)) -- код ошибки end_script () end hw.set_delay_mouse (20) -- установить паузу между нажатиями клавиш мыши hw.set_random_delay_mouse(10) -- установить рандом между нажатиями клавиш мыши от 0 до 9 мсек -- т. е. между нажатием и отпусканием кнопки мыши будет пауза от 20 до 29 мсек. hw.set_offset_mousemove(4) -- шаг перемещения курсора, чем больше тем быстрее перемещается hw.set_delay_mousemove(2) -- установить паузу между каждый шагом перемещения мыши, чем меньше, тем быстрее перемещается
hw.mouse.left (200, 100) -- клик левой кнопкой мыши в координатах 200, 100 hw.mouse.right (200, 100) -- клик правой кнопкой мыши wait (3000) -- пауза 3 секунды hw.mouse.left_dbl (35, 35) -- двойной клик левой кнопкой мыши wait (2000) hw.mouse.left_down (200, 200) -- зажать левую кнопку мыши wait(500) hw.mouse.left_up (900, 300) -- отпустить левую кнопку мыши Сообщение отредактировал cirus - 11.7.2023, 2:17
|
|
|
|
KotMC |
10.1.2021, 0:42
|
Neophyte
Сообщений: 34
Регистрация: 10.1.2021 Группа: Пользователи Наличность: 0
Пользователь №: 19.851
Возраст: 36
|
Скачал UO Pilot v2.41 (31.12.2018),Скетч и модуль lua. Записал скетч в ардуино, положил модуль в папку с пилотом. Произвел рекомендуемые настройки. Запускаю скрипт: скрипт
--lua local hw = require'arduino' hw.com = hw.get_port (2341, 8036) -- указать vid и pid ардуино if hw.com < 1 then -- если номер порта меньше 1 log ('error = ' .. tostring(hw.com)) -- код ошибки, если 0 значит устройство с указанными vip и pid не найдено end_script () end hw.set_delay_key (20) -- установить паузу между нажатиями клавиш клавиатуры hw.set_random_delay_key(10) -- установить рандом между нажатием и отпускание клавиш от 0 до 9 мсек -- т. е. между нажатием и отпусканием клавиши будет пауза от 20 до 29 мсек
::me:: wait (3000) -- пауза 3 секунды чтобы переключиться на нужное окно hw.key ('k') -- нажать клавишу 'k' hw.key (hw.enter) -- нажать 'Enter'
goto me
Перехожу в блокнот и ничего не происходит в окне лога пилота только постоянно выводится "0:13:59 0 (test.txt, 0): wait 1" помогите найти ошибку.
|
|
|
|
KotMC |
10.1.2021, 1:19
|
Neophyte
Сообщений: 34
Регистрация: 10.1.2021 Группа: Пользователи Наличность: 0
Пользователь №: 19.851
Возраст: 36
|
pro micro. Если использовать этот скрипт скрипт
--lua local ffi = require('ffi') local setupapi = ffi.load('SetupAPI.dll') local advapi32 = ffi.load('Advapi32.dll')
local DIGCF_ALLCLASSES = 4 local DIGCF_PRESENT = 2 local SPDRP_HARDWAREID = 1 local DICS_FLAG_GLOBAL = 1 local DIREG_DEV = 1 local KEY_READ = 131097 local BUFF_LEN = 20 local ERROR_SUCCESS = 0 local REG_SZ = 1
ffi.cdef[[ struct HWND__ { int unused; }; typedef struct HWND__ *HWND; struct HKEY__ { int unused; }; typedef struct HKEY__ *HKEY; typedef HKEY *PHKEY; typedef unsigned long ULONG; typedef unsigned long DWORD; typedef DWORD *LPDWORD; typedef long LONG; typedef DWORD *PDWORD; typedef unsigned char BYTE; typedef BYTE *PBYTE, *LPBYTE; typedef wchar_t WCHAR; typedef const char *LPCSTR, *PCSTR; typedef unsigned long ULONG_PTR, *PULONG_PTR; typedef void *PVOID; typedef PVOID HDEVINFO; typedef ULONG DEVPROPTYPE; typedef LONG LSTATUS; typedef DWORD ACCESS_MASK; typedef ACCESS_MASK REGSAM;
typedef struct _GUID {unsigned long Data1; unsigned short Data2; unsigned short Data3; unsigned char Data4[8];} GUID; typedef struct _SP_DEVINFO_DATA {DWORD cbSize; GUID ClassGuid; DWORD DevInst; ULONG_PTR Reserved;} SP_DEVINFO_DATA, *PSP_DEVINFO_DATA;
HDEVINFO SetupDiGetClassDevsA(const GUID *ClassGuid, PCSTR Enumerator, HWND hwndParent, DWORD Flags); bool SetupDiDestroyDeviceInfoList(HDEVINFO DeviceInfoSet); bool SetupDiEnumDeviceInfo(HDEVINFO DeviceInfoSet, DWORD MemberIndex, PSP_DEVINFO_DATA DeviceInfoData); bool SetupDiGetDeviceRegistryPropertyA(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData, DWORD Property, PDWORD PropertyRegDataType, PBYTE PropertyBuffer, DWORD PropertyBufferSize, PDWORD RequiredSize); HKEY SetupDiOpenDevRegKey(HDEVINFO DeviceInfoSet, PSP_DEVINFO_DATA DeviceInfoData, DWORD Scope, DWORD HwProfile, DWORD KeyType, REGSAM samDesired); LSTATUS RegCloseKey(HKEY hKey); LSTATUS RegQueryValueExA(HKEY hKey, LPCSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType,LPBYTE lpData, LPDWORD lpcbData); ]] function get_port(vid, pid) if vid == nil then return -1 end if pid == nil then return -2 end
local com local DeviceInfoSet = ffi.new('HDEVINFO') local DeviceIndex = 0 local DeviceInfoData = ffi.new('SP_DEVINFO_DATA', 0) local DevEnum = ffi.new('PCSTR', "USB") local ExpectedDeviceId = 'VID_' .. tostring(vid) .. '&PID_' .. tostring(pid) local szBuffer = ffi.new('unsigned char[1024]', 0) local ulPropertyType = ffi.new('DEVPROPTYPE[1]') local dwSize = ffi.new('PDWORD') DeviceInfoSet = setupapi.SetupDiGetClassDevsA(nil, DevEnum, nil, bit.bor(DIGCF_ALLCLASSES, DIGCF_PRESENT)) DeviceInfoData.cbSize = ffi.sizeof(DeviceInfoData)
while setupapi.SetupDiEnumDeviceInfo(DeviceInfoSet, DeviceIndex, DeviceInfoData) do DeviceIndex = DeviceIndex + 1 if (setupapi.SetupDiGetDeviceRegistryPropertyA(DeviceInfoSet, DeviceInfoData, SPDRP_HARDWAREID, ulPropertyType, szBuffer, ffi.sizeof(szBuffer), dwSize)) then if ffi.string(szBuffer):match(ExpectedDeviceId) then local hDeviceRegistryKey = ffi.new('HKEY') hDeviceRegistryKey = setupapi.SetupDiOpenDevRegKey(DeviceInfoSet, DeviceInfoData, DICS_FLAG_GLOBAL, 0, DIREG_DEV, KEY_READ); local pszPortName = ffi.new('char[?]', BUFF_LEN) local dwSize = ffi.new('DWORD[1]', ffi.sizeof(pszPortName)) local dwType = ffi.new('DWORD[1]') if advapi32.RegQueryValueExA(hDeviceRegistryKey, "PortName", nil, dwType, pszPortName, dwSize) == ERROR_SUCCESS and dwType[0] == REG_SZ then com = tonumber(ffi.string(pszPortName):match('%d+')) end end advapi32.RegCloseKey(hDeviceRegistryKey) end end setupapi.SetupDiDestroyDeviceInfoList(DeviceInfoSet) if com then return com end return 0 end
-- узнать номер порта, передавать vid, pid local COM = get_port(2341, 8036) -- указать нужные vid и pid log(COM) Порт определятся верно. Убрал строки до такого состояния отрабатывает только задержка. скрипт
--lua local hw = require'arduino' hw.com = hw.get_port (2341, 8036) -- указать vid и pid ардуино if hw.com < 1 then -- если номер порта меньше 1 log ('error = ' .. tostring(hw.com)) -- код ошибки, если 0 значит устройство с указанными vip и pid не найдено end_script () end
::me:: wait (3000) -- пауза 3 секунды чтобы переключиться на нужное окно hw.key ('k') -- нажать клавишу 'k' goto me В логе после его запуска это: 1:10:56 0 (test 210110 010231.txt, 0): wait 3000 1:10:59 0 (test 210110 010231.txt, 0): wait 1 1:10:59 0 (test 210110 010231.txt, 0): wait 1 1:10:59 0 (test 210110 010231.txt, 0): wait 1 1:10:59 0 (test 210110 010231.txt, 0): wait 1
|
|
|
|
KotMC |
18.1.2021, 1:28
|
Neophyte
Сообщений: 34
Регистрация: 10.1.2021 Группа: Пользователи Наличность: 0
Пользователь №: 19.851
Возраст: 36
|
Отрабатывает один раз, при повторном запуске UO Pilot зависает намертво при использовании этого скрипта: скрипт
--lua
local hw = require'arduino' hw.com = hw.get_port (2341, 8036) -- указать vid и pid ардуино if hw.com < 1 then -- если номер порта меньше 1 log ('error = ' .. tostring(hw.com)) -- код ошибки, если 0 значит устройство с указанными vip и pid не найдено end_script () end
hw.set_delay_mouse (20) -- установить паузу между нажатиями клавиш мыши hw.set_random_delay_mouse(10) -- установить рандом между нажатиями клавиш мыши от 0 до 9 мсек -- т. е. между нажатием и отпусканием кнопки мыши будет пауза от 20 до 29 мсек. hw.set_offset_mousemove(4) -- шаг перемещения курсора, чем больше тем быстрее перемещается hw.set_delay_mousemove(2) -- установить паузу между каждый шагом перемещения мыши, чем меньше, тем быстрее перемещается
local startX, startY, endX, endY = 530, 180, 757, 254 -- координаты поиска local path = [["C:\img\img1.bmp"]] -- путь к картинке, bmp 24 бита local arr, a = findimage (startX, startY, endX, endY, {path}, 2) -- поиск картинки hint (a) -- результат поиска, подсказка в правом нижнем углу if arr then -- если найдена log ("Изображение найдено в координатах X= " .. arr[1][1] .. " Y= " .. arr[1][2]) hw.mouse.move (651, 225) -- переместить мышь end
А если использовать этот то все работает многократно скрипт
--lua
local hw = require'arduino' hw.com = hw.get_port (2341, 8036) -- указать vid и pid ардуино if hw.com < 1 then -- если номер порта меньше 1 log ('error = ' .. tostring(hw.com)) -- код ошибки, если 0 значит устройство с указанными vip и pid не найдено end_script () end
--hw.set_delay_mouse (20) -- установить паузу между нажатиями клавиш мыши --hw.set_random_delay_mouse(10) -- установить рандом между нажатиями клавиш мыши от 0 до 9 мсек -- т. е. между нажатием и отпусканием кнопки мыши будет пауза от 20 до 29 мсек. --hw.set_offset_mousemove(4) -- шаг перемещения курсора, чем больше тем быстрее перемещается --hw.set_delay_mousemove(2) -- установить паузу между каждый шагом перемещения мыши, чем меньше, тем быстрее перемещается
local startX, startY, endX, endY = 530, 180, 757, 254 -- координаты поиска local path = [["C:\img\img1.bmp"]] -- путь к картинке, bmp 24 бита local arr, a = findimage (startX, startY, endX, endY, {path}, 2) -- поиск картинки hint (a) -- результат поиска, подсказка в правом нижнем углу if arr then -- если найдена log ("Изображение найдено в координатах X= " .. arr[1][1] .. " Y= " .. arr[1][2]) --hw.mouse.move (651, 225) -- переместить мышь end
Из за чего такое может происходить?
|
|
|
|
DarkMaster |
18.1.2021, 1:41
|
Модератор UOPilot
Сообщений: 9.573
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 28548
Пользователь №: 11.279
|
Если во втором скрипте раскомментировать: Цитата --hw.mouse.move (651, 225) -- переместить мышь Проблема появится? Если нет, то подозреваю проблема вот в этих переменных: --hw.set_random_delay_mouse(10) -- установить рандом между нажатиями клавиш мыши от 0 до 9 мсек -- т. е. между нажатием и отпусканием кнопки мыши будет пауза от 20 до 29 мсек. --hw.set_offset_mousemove(4) -- шаг перемещения курсора, чем больше тем быстрее перемещается --hw.set_delay_mousemove(2) -- установить паузу между каждый шагом перемещения мыши, чем меньше, тем быстрее перемещается Раскомментируйте строки по одной и смотрите результат. Проверять все варианты бессмыленно.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
cirus |
18.1.2021, 13:16
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 27518
Пользователь №: 16.971
Возраст: 29
|
Цитата А можно как-то закрыть порт без ребута железки? Пилот надо перезапускать в таких случаях. Порт открывается с помощью CreateFile, закрывать через CloseHandle. Тоже самое что с файлами, пока программа использует файл другая не может использовать его. KotMC, этот файл в папку с пилотом закиньте
arduino.lua ( 21,69 килобайт )
Кол-во скачиваний: 844В лог будет выводить сообщение что порт открыт и закрыт. код
Код --lua local hw = require'arduino' hw.com = hw.get_port (2341, 8036) -- указать vid и pid ардуино if hw.com < 1 then -- если номер порта меньше 1 log ('error = ' .. tostring(hw.com)) -- код ошибки, если 0 значит устройство с указанными vip и pid не найдено end_script () end
log 'clear' log 'mode compact' log('установить паузу между нажатиями клавиш мыши') hw.set_delay_mouse (20) -- установить паузу между нажатиями клавиш мыши
log('\r\nустановить рандом между нажатиями клавиш мыши') hw.set_random_delay_mouse(10) -- установить рандом между нажатиями клавиш мыши от 0 до 9 мсек
log('\r\nустановить шаг перемещения курсора') hw.set_offset_mousemove(4) -- шаг перемещения курсора, чем больше тем быстрее перемещается
log('\r\nустановить паузу между каждый шагом перемещения мыши') hw.set_delay_mousemove(2) -- установить паузу между каждый шагом перемещения мыши, чем меньше, тем быстрее перемещается
log(hw.offset_mousemove) log(hw.delay_mousemove) log(hw.delay_mouse ) log(hw.random_delay_mouse)
log('\r\nперемещение курсора') hw.mouse.move (651, 225) -- переместить мышь После выполнения скрипта в логе должно быть это: log
установить паузу между нажатиями клавиш мыши Открытие порта Порт открыт Закрытие порта: true
установить рандом между нажатиями клавиш мыши Открытие порта Порт открыт Закрытие порта: true
установить шаг перемещения курсора Открытие порта Порт открыт Закрытие порта: true
установить паузу между каждый шагом перемещения мыши Открытие порта Порт открыт Закрытие порта: true 4 2 20 10
перемещение курсора Открытие порта Порт открыт Закрытие порта: true
|
|
|
|
KotMC |
18.1.2021, 21:48
|
Neophyte
Сообщений: 34
Регистрация: 10.1.2021 Группа: Пользователи Наличность: 0
Пользователь №: 19.851
Возраст: 36
|
Цитата(cirus @ 18.1.2021, 13:16) Пилот надо перезапускать в таких случаях. Порт открывается с помощью CreateFile, закрывать через CloseHandle. Тоже самое что с файлами, пока программа использует файл другая не может использовать его. KotMC, этот файл в папку с пилотом закиньте
arduino.lua ( 21,69 килобайт )
Кол-во скачиваний: 844В лог будет выводить сообщение что порт открыт и закрыт. код
Код --lua local hw = require'arduino' hw.com = hw.get_port (2341, 8036) -- указать vid и pid ардуино if hw.com < 1 then -- если номер порта меньше 1 log ('error = ' .. tostring(hw.com)) -- код ошибки, если 0 значит устройство с указанными vip и pid не найдено end_script () end
log 'clear' log 'mode compact' log('установить паузу между нажатиями клавиш мыши') hw.set_delay_mouse (20) -- установить паузу между нажатиями клавиш мыши
log('\r\nустановить рандом между нажатиями клавиш мыши') hw.set_random_delay_mouse(10) -- установить рандом между нажатиями клавиш мыши от 0 до 9 мсек
log('\r\nустановить шаг перемещения курсора') hw.set_offset_mousemove(4) -- шаг перемещения курсора, чем больше тем быстрее перемещается
log('\r\nустановить паузу между каждый шагом перемещения мыши') hw.set_delay_mousemove(2) -- установить паузу между каждый шагом перемещения мыши, чем меньше, тем быстрее перемещается
log(hw.offset_mousemove) log(hw.delay_mousemove) log(hw.delay_mouse ) log(hw.random_delay_mouse)
log('\r\nперемещение курсора') hw.mouse.move (651, 225) -- переместить мышь После выполнения скрипта в логе должно быть это: log
установить паузу между нажатиями клавиш мыши Открытие порта Порт открыт Закрытие порта: true
установить рандом между нажатиями клавиш мыши Открытие порта Порт открыт Закрытие порта: true
установить шаг перемещения курсора Открытие порта Порт открыт Закрытие порта: true
установить паузу между каждый шагом перемещения мыши Открытие порта Порт открыт Закрытие порта: true 4 2 20 10
перемещение курсора Открытие порта Порт открыт Закрытие порта: true Всё сделал в точности, работает раз через раз. То выводит полный лог, то зависает. Если в момент зависания вытащить arduino и заново вставить, лог начнет двигаться и так за несколько раз вытаскивания вставления лог доходит до конца , после этого может несколько раз работать без зависаний. Изначально стоял драйвер, который идёт при установки ArduinoIDE, пробовал менять его на драйвер из шапки, с ним не работает вовсе. Все делаю на заново установленной win10. Вешает пилот однозначно arduino.
|
|
|
|
|
|
82 чел. читают эту тему (гостей: 82, скрытых пользователей: 0)
Пользователей: 0
|
|