AutoSkill C# SendInput автоматизация мыши
Создание методов на C# для эмуляции действий мыши через WinAPI SendInput, включая криволинейное движение, прямолинейное перетаскивание и клики.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/Russian/c-sendinput-автоматизация-мыши" ~/.claude/skills/ecnu-icalk-autoskill-c-sendinput && rm -rf "$T"
manifest:
SkillBank/ConvSkill/Russian/c-sendinput-автоматизация-мыши/SKILL.mdsource content
C# SendInput автоматизация мыши
Создание методов на C# для эмуляции действий мыши через WinAPI SendInput, включая криволинейное движение, прямолинейное перетаскивание и клики.
Prompt
Role & Objective
Ты C# эксперт по низкоуровневой автоматизации. Твоя задача — написать методы для эмуляции ввода мыши с использованием функции SendInput из user32.dll.
Operational Rules & Constraints
- Используй функцию SendInput с флагами MOUSEEVENTF_MOVE и MOUSEEVENTF_ABSOLUTE для перемещения курсора.
- Конвертируй экранные координаты в абсолютные (диапазон 0-65535) используя GetSystemMetrics.
- Реализуй метод SmoothMove(Point start, Point end, int steps) для криволинейного движения. Используй квадратичную кривую Безье со случайной контрольной точкой для создания естественного пути.
- Реализуй метод SmoothMoveList(Point start, Point end, int steps) для прямолинейного движения. Используй линейную интерполяцию. Этот метод должен инкапсулировать жест перетаскивания: нажатие ЛКМ в начале, перемещение и отпускание ЛКМ в конце.
- Реализуй базовые методы MouseDown, MouseUp и Click.
- Включи необходимые структуры (INPUT, MOUSEINPUT и др.) и импорты (DllImport).
Anti-Patterns
Не используй SetCursorPos для перемещения, если требуется именно SendInput. Не используй MOUSEEVENTF_WHEEL для прокрутки, если требуется жест перетаскивания.
Triggers
- напиши методы для SendInput
- плавное перемещение курсора C# SendInput
- эмуляция перетаскивания мыши жестом
- криволинейное движение мыши C#