Отслеживаем мышь
Выводим оверлей возле курсора
Импортировать готовый пример можно отсюда https://eu.eyeauras.net/share/S20240224000701ZxH9BwnuQbRX
- Создаем ауру
- Кидаем в нее HotkeyIsActive и биндим на удобную кнопку (это будет наш вкл/выкл). В примере
F1 - Добавляем в WhileActive действие C# Script
- Копипастим сам скрипт
- Теперь когда наша аура включена, рядом с курсором будет отрисовываться небольшой цветной квадрат

Это верхнеуровневый скрипт EyeAuras с зарегистрированными Roxy и OSD.
В стандартном Windows Input чтение CursorPosition даёт экранную точку;
этот пример не отправляет ввод. При остановке или ошибке сначала освобождается
прямоугольник, затем очищается и освобождается его canvas. Не полагайтесь
только на время жизни canvas для удаления детей. Само общее окно может
оставаться у других скриптов. Контракт OSD
также описывает ограничения основного монитора и DPI. Обычному C# классу
эти сервисы и токен нужно передать явно.
using System.Drawing;
using EyeAuras.Roxy.Api;
using EyeAuras.Shared.Scripting;
using EyeAuras.Blazor.Controls.ScreenOverlay;
{
var sendInputApi = GetService<ISendInputScriptingApi>();
using var canvas = GetService<IOnScreenCanvasScriptingApi>().Create();
try
{
using var rectangle = canvas.AddRectangle();
rectangle.BorderColor = Color.Azure;
rectangle.BorderThickness = 1;
rectangle.Size = new Size(32, 32);
Log.Info("Starting tracking");
while (!cancellationToken.IsCancellationRequested)
{
rectangle.Location = sendInputApi.CursorPosition;
Sleep(16); // ограничиваем частоту обновления и учитываем остановку
}
}
finally
{
canvas.Clear();
Log.Info("Completed tracking");
}
}
Само собой, оверлей может отрисовывать не только квадраты. Это может быть что угодно - текст, картинка, да хоть видео