1

Тема: AHK: Вывести текст поверх экрана

Добрый день!
Мне нужно решить одну задачу, но ввиду её объёмности я готов хорошо заплатить за решение.

Имеется следующее техническое задание.
Нужно написать AHK-скрипт, который периодически (каждые 100 мсек) считывает текстовое содержимое рядом лежащего txt-файла (содержимое которого постоянно меняется извне) с заданым именем и выводит поверх экрана (поверх DirectX-игры) в заданном прямоугольнике. Вроде просто, но теперь детали:
* Текст в txt-файле планируется хранить в UTF-8 формате, поэтому он должен выводиться на экран корректно. В теории, можно хранить и в UTF-16, чтобы избежать возможных проблем в AHK, но это вариант на случай, если с UTF-8 у исполнителя возникнут сложности.
* Необходимо явно задать шрифт и размер шрифта текста (я должен видеть, где это можно изменить). Желательно, чтобы размер шрифта брался из переменной (т.к. в дальнейшем планируется, что он будет зависеть от разрешения экрана).
* Выравнивние текста - по левому краю.
* Цвет текста - красный (желательно задать в формате RGB, чтобы я мог легко изменить).
* Фон текста (позади букв) - прозрачный.
* Сам текст - на 50% прозрачный. Должна иметься возможность регулировать степень прозрачности через переменную.
* Отступы для текста(прямоугольника) относительно экрана: 30% слева, 5% сверху, 30% справа, 70% снизу. Должна иметься возможность легко поменять положение и размер прямоугольника, в котором находится текст, изменив 4 значения отступа.
* Если текст не помещается по горизонтали, он переносится на новую строку.
* Если текст не помещается по вертикали, он уходит вверх и как бы обрезается сверху, т.е. выводится только последняя часть текста (это важный пункт, т.к. текст часто будет не влезать по вертикали!).
* Желательно, чтобы выводимый текст не мешал взаимодействию с элементами игры, поверх которой он будет выводиться (с этим могут возникнуть сложности, поэтому опционально).
* Желательно оставлять комментарии в коде в ключевых местах, чтобы я мог разобраться, что и как работает.

Если какие-то пункты сложны в реализации, я готов рассмотреть вариант без них.

Вот то, что я наваял за час из разных кусков, чтобы показать минимальный пример, как это должно выглядеть (но тут мало что реализовано из вышеперечисленного):

#SingleInstance force

X := A_ScreenWidth
Y := A_ScreenHeight

formattime, dait, M/d/yyyy h:mm:ss tt

Gui 1: +LastFound +AlwaysOnTop +ToolWindow -Caption
Gui 1: Color, 19ff19
WinSet, TransColor, 19ff19 500
Gui 1: Font, S10 cRed Q4, Arial Bold
Gui 1: add, text, vDayt w%X% h%Y% Center, % dait
Gui 1: show, , My GUI
SetTimer, Update, 100
return

Update:
FileRead, OutputVar, 1.txt
GuiControl,, Dayt, %OutputVar%
Return

2

Re: AHK: Вывести текст поверх экрана

Готов взяться, пишите мне в Телеграм (в подписи), завтра можем связаться.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Вывести текст поверх экрана

Спасибо teadrinker за решение!
Сделано лучше, чем я ожидал