Группа посвящена скриптовому языку Autohotkey Официальный сайт: https://autohotkey.com/ Онлайн справка: https://autohotkey.com/docs/AutoHotkey.htm #ПостПолезныхСсылокПоAutohotkey https://t.me/AutoHotkey_RU/2
кстати, ребят, хотел давно уже спросить. случайно никто не знает библиотеки для работы с API телеграм ботов для ahk v2? типо как iogram для пайтона, но для ahk?
Читать полностью…обычный ahk v2, или v2.1 alpha. Крч любой v2
Читать полностью…сложно, у меня ahk не на подхвате
еще подбирай версию итд (форки)
я ж рили не пишу на нем
не запускал
оценил твой порыв использовать Direct2D
Если не сложно протести данный код. Тут нечему ломаться.
#DllLoad D2D1.dllЧитать полностью…
wnd := Gui()
wnd.Show("w500 h500")
ID2D1Factory := Buffer(16)
DllCall("Ole32\CLSIDFromString", "Str", "{06152247-6f50-465a-9245-118bfd3b6007}", "Ptr", ID2D1Factory)
DllCall("D2D1\D2D1CreateFactory", "Int", 0, "Ptr", ID2D1Factory, "Ptr", 0, "PtrP", &pIFactory:=0)
D2D1_RENDER_TARGET_PROPERTIES := Buffer(28)
NumPut("Int" , 0, D2D1_RENDER_TARGET_PROPERTIES, 0) ; type
NumPut("Int" , 0, D2D1_RENDER_TARGET_PROPERTIES, 4) ; pixelFormat.format
NumPut("Int" , 0, D2D1_RENDER_TARGET_PROPERTIES, 8) ; pixelFormat.alphaMode
NumPut("Float", 0, D2D1_RENDER_TARGET_PROPERTIES, 12) ; dpiX
NumPut("Float", 0, D2D1_RENDER_TARGET_PROPERTIES, 16) ; dpiY
NumPut("Int" , 0, D2D1_RENDER_TARGET_PROPERTIES, 20) ; usage
NumPut("Int" , 0, D2D1_RENDER_TARGET_PROPERTIES, 24) ; minLevel
wnd.GetClientPos(&cx, &cy, &cw, &ch)
D2D1_HWND_RENDER_TARGET_PROPERTIES := Buffer(2*A_PtrSize+8)
NumPut("Ptr" , wnd.hWnd, D2D1_HWND_RENDER_TARGET_PROPERTIES, 0) ; hwnd
NumPut("UInt", cw , D2D1_HWND_RENDER_TARGET_PROPERTIES, A_PtrSize) ; pixelSize.width
NumPut("UInt", ch , D2D1_HWND_RENDER_TARGET_PROPERTIES, A_PtrSize+4) ; pixelSize.height
NumPut("Int" , 0 , D2D1_HWND_RENDER_TARGET_PROPERTIES, A_PtrSize+8) ; presentOptions
ComCall(2+12, pIFactory, "Ptr", D2D1_RENDER_TARGET_PROPERTIES, "Ptr", D2D1_HWND_RENDER_TARGET_PROPERTIES, "PtrP", &pRenderTarget:=0)
COLORF := Buffer(16)
NumPut("Float", 0xFF, COLORF, 0) ; R
NumPut("Float", 0x00, COLORF, 4) ; G
NumPut("Float", 0x00, COLORF, 8) ; B
NumPut("Float", 0xFF, COLORF, 12) ; A
ComCall(2+1+5, pRenderTarget, "Ptr", COLORF, "Ptr", 0, "PtrP", &pSolidBrush:=0)
ComCall(2+1+45, pRenderTarget, "Int")
RECTF := Buffer(16)
NumPut("Float", 100, RECTF, 0) ; left
NumPut("Float", 100, RECTF, 4) ; top
NumPut("Float", 200, RECTF, 8) ; right
NumPut("Float", 200, RECTF, 12) ; bottom
ComCall(2+1+13, pRenderTarget, "Ptr", RECTF, "Ptr", pSolidBrush, "Float", 1, "Ptr", 0, "Int")
ComCall(2+1+46, pRenderTarget, "UInt64P", 0, "UInt64P", 0)
Всем привет!
Посоветуйте импортный VPS под VPN +- $3 с траффиком unlim или от 2Тб.
Нужен в частности и для просмотра YouTube без аккаунта ( thru FreeTube).
Был на DigitalOcean, но ютубчик его адреса не пускает без входа в аккаунт.
Спасибо!
Хотя… в принципе фиксится созданием табов перед групбоксом, а не после. Но логика последовательности в коде при этом нарушается, но да ладно
Читать полностью…Походу, группа себя изжила... Что ж, ладно...
Вот и новая версия консоли (cmd):
Изменений очень много, и, по сути, сейчас этим реально можно пользоваться. По крайней мере, это действительно удобно в какой-то степени.
Основные изменения:
— Полностью переработанна структура кода.
— Скорость рендера текста увеличилась приблизительно в 375 раз. Условно, раньше рендер 10к строк занимал +- 8-10 минут, а сейчас это занимает 1600ms, что в целом отличный результат.
— Добавлено автодополнение команд. При вводе чего-то похожего на команду или аргумент, появится окно, в котором можно дополнить текущее слово. Горячие клавиши: tab — дополнить, стрелочки — выбрать слово.
— Полностью переработанна система ошибок. Сейчас консоль реагирует на каждое действие и выводит информацию на экран.
— Реализована +- качественная подсветка синтаксиса для ошибок, а также для самих команд.
— Полностью исправлено мерцание текста (но это не точно).
— Добавлено 5 новых команд для работы с файлами.
— Переработаны все команды. Сейчас команды могут работать как с абсолютными путями, так и с текущей директорией, что в целом очень удобно.
— Также сейчас можно перенести файл / папку в консоль и получить полный путь.
— И да, производительность в разы улучшилась, а также были исправлены небольшие баги.
xd🤣🤣🤣 отличное начало сразу с C++ стартовать
Читать полностью…Это как? Ahk использовать на Android не получится (разве что использовать эмулятор). На телефон есть MacroDroid, автокликер, и тд..
Читать полностью…Ну да... По всей видимости это невозможно сделать. Либо нужен супер костыль
Читать полностью…Скорее всего, чего-то подобного нет. Ahk - это не Python, тут всё нужно писать с нуля и вручную. В целом можешь попробовать написать свою библиотеку для работы с Telegram Bot API. Ну либо используй python.
Читать полностью…Я вот не особо понимаю что влияет на скорость кода... По идеи проц... Что ж ладно. Под 32 и не было оптимизации так что это нормально.
Читать полностью…Вот такие абстракции можно рисовать...
Читать полностью…уточнишь точную версию и форк - запущу
Читать полностью…Ну это не так уж и сложно. Я ж писал свою GDI+ библиотеку, а тут по сути тоже самое, но только чуть сложнее структуры. Нужно сидеть угадывать в какой последовательности передавать аргументы, а так же гадать над COM индексами виртуальной таблицы, так как этого не знает даже ИИ. В остальном +- тоже самое что и GDI+.
Если не сложно затести код)
Че амбициозно? У тебя запустился код? Можно тогда циферки увидеть из MsgBox...
Читать полностью…А я вроде понял что не так. Походу функции должна хоть что-то возвращать, а не void. Но почему-то в windows 10 это работает... Мда... В общем это рабочий код (скорее всего).
Читать полностью…Спасиб.
Мне кажется это приколы win 11. Это неожиданный баг, и такого вообще не должно было быть.
#Class
Класс Msg для отладки ваших скриптов. Стандартный отладчик в ahk v2 очень сомнительный, к тому же многие вообще не знают что он есть, из-за этого отлаживать большие скрипты очень сложно и долго. НО класс Msg должен ускорить процесс разработки, а также упростить отладку кода.
Класс принимает два параметра:
1. Что мы хотим вывести.
2. Способ вывода: MsgBox, tooltip, лог.
А также есть метод String, который возвращает строку, мда. Его можно использовать для вывода информации, например, в GUI или куда угодно.
Класс Msg умеет работать со всеми типами данных (наверное). То есть вы можете передать в класс всё что угодно: например, массив, объект, класс, буфер, строки и т.д., и в конечном итоге увидите некую информацию. Также класс поддерживает типы данных для чисел, например, «1» — это true, «10» — UChar, «70000» — UInt и т.д.
Примеры использования:
Msg(true)Читать полностью…
Msg(0xff0000)
Msg(["123", "qwe"])
Msg("Hello")
Msg(3123)
Msg(3.123)
Msg({asd: 213})
Msg({qwe: 1, asd: "текст", zxc: [1, 2, 3]})
Msg(Gui)
Я обязательно допишу свою фигнюшку… в ближайшем тысячелетии
Читать полностью…Заметила, что размещение Tab3 в GroupBox скрывает кнопки табов. Это фиксится?
Читать полностью…если в институте, а так для самоучки не лучший выбор :0
Читать полностью…C++ учи, сможешь где захочешь макроссы написать
Читать полностью…А можна скачати макрос на телефон android????
Читать полностью…использовать Chr() я так понимаю тоже не варик?
Читать полностью…