Пак функций переписанных на чистом luajit с существенным расширением функционала.
Планируется к дальнейшему расширению и включению в пилот по умолчанию. Можно счтиать бета версией. Крайне желательно получить фидбеки по функционалу, ошибкам и т.д.
По поводу мышки и клавиатуры. Для работы с неактивным окном рекомендуется post. Для работы с активным окном input.
Для использования выпонить:
Код
require"lua_system\\init"
Краткий список функций. Подробнее в readme.txt
Системные. Массив sys.
Код
define - безопасно объявить через cdef
geterr - получить последнюю ошибку
indexof - получить индекс элемента в массиве
inpairs_sorted - итератор аналогичный in pairs(), но в афаитном порядке
ispilot - яляется ли среда пилотом
lg - вывести содержимое в лог (в т.ч. таблицы)
random_g - случайное число с распределением по гауссу
registryread - прочитать ключ реестра
utf16_to_ascii - преобразовать UTF-16 в ASCII
utf16_to_file - записать UTF-16 в файл
utf8_to_ascii - преобразовать UTF-8 в ASCII
utf8_to_utf16 - преобразовать UTF-8 в UTF-16
Процессы. Массив proc.
Код
cd - получить/установить текущую директорию
getenvironment - получить текущие переменные окружения
exec - запустить исполняемый файл
execandwait - запустить исполняемый файл и ждать выполнения
execpipe - запустить исполняемый файл и открыть пайпы
exepath - путь к исполняемому файлу
setaffinity - назначить ядра процессу
setpriority - установить приоритет процеса
terminate - уничтожить окно
Окна. Массив wnd.
Код
findwindow - найти окно
getcontroltext - получить текст контрола (кнопки)
getfocus - получить хэндл окна с фокусом клавиатуры
getforeground - получить активное окно
getwindow - получить окно относительно другого
getwindowclass - получить класс окна
getwindowtext - получить имя окна
isvisible - является ли окно невидимым
postmessage - отправить post сообщение окну
sendmessage - отправить send сообщение окну
setcontroltext - задать текст контрола (кнопки)
setwindowtext - задать имя окна
showwindow - показать/свернуть/развернуть/скрыть окно
tohandle - преобразовать число в хэндл
windowfromcursor - хэндл окна под курсором
windowfrompoint - хэндл окна в точке
windowinfo - получить информацию об окне
windowpid - получить PID окна
windowpos - получить позицию окна
workwindow - назначить рабочим окном
Мышь. Массив mouse.
Код
mousepos - получить текущие координаты мыши
Методы кликов мышкой:
post
send
event
input
Каждый из методов имеет следующие функции:
move - переместить мышь
left - кликнуть левой кнопкой
left_double - двойной клик левой кнопкой
left_down - нажать левую кнопку
left_up - отпустить левую кнопку
right - кликнуть правой кнопкой
right_double - двойной клик правой кнопкой
right_down - нажать правую кнопку
right_up - отпустить правую кнопку
middle - кликнуть средней кнопкой
middle_double - двойной клик средней кнопкой
middle_down - нажать среднюю кнопку
middle_up - отпустить средню кнопку
m4 - кликнуть mouse4 кнопкой
m4_double - двойной клик mouse4 кнопкой
m4_down - нажать mouse4 кнопку
m4_up - отпустить mouse4 кнопку
m5 - кликнуть mouse5 кнопкой
m5_double - двойной клик mouse5 кнопкой
m5_down - нажать mouse5 кнопку
m5_up - отпустить mouse5 кнопку
wheel_down - переместить колесо вниз
wheel_up - переместить колесо вверх
wheel_left - переместить колесо влево
wheel_right - переместить колесо вправо
Методы имеют следующие опции:
move_before_click - переместить мышь в точку клика
move_after_click - вернуть мышь после клика
move_func - функция перемещения мыши
move_split - разделять перемещение и клик (только input и event)
timeout_inner - задержка межу down и up
timeout_outer - задержка между up и down (не блокирующая)
timeout_move - задержка межу move и down
mod_inner - использовать флаг зажатия ctrl/shift вместо зажатия (только send и post)
clock_up - время последнего клика
Клавиатура. Массив kbd.
Код
getlayout - получить текущую раскладку клавиатуры
getlayoutlist - получить список доступных раскладок
keystate - получить состояние клавиши
keystateasync - получить состояние клавиши асинхронно.
setlayout - установить раскладку клавиатуры
Методы отправки нажатий клавиатуры:
send
post
event
input
Каждый из методов имеет следующие функции:
key - нажать и отпустить клавишу
text - отправить текст
down - нажать клавишу
up - отпустить клавишу
Время. Массив time.
Код
clock_hp - таймер с высоким разрешением
clock_hp_int64 - таймер с высоким разрешением результат в int64
clock_hp_resolution - количество тиков таймера с высоким разрешением в секунду
clock_hp_result[0] - результат выполнения clock_hp_int64()
day - текущий день
hour - текущий час
min - текущая минута
month - текущий месяц
sec - текущая секунда
sleep - приостановить программу
sleep_hp - приостановить программу с высокой точностью
sleep_random - случайная пауза
sleep_random_g - случайная пауза с распределением по гауссу
timer - создать объект-таймер
timestamp - строковый таймштамп
weekday - текущий день недели
year - текущий год
Сообщение отредактировал DarkMaster - 7.3.2025, 18:45