Skip to content

MaximillianVoss/MacroPilot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MacroPilot

Справка о репозитории / Repository note

RU: приложение для автоматизации макросов и рабочих действий.

EN: an application for macro and workflow automation.

Статус / Status: активный проект 2026 года; ожидает рефакторинга и переименования. / active 2026 project; refactoring and repository rename are pending.

Текущее имя / Current name: MacroPilot

Плановое имя / Planned name: macro-pilot

Topics: automation, cleanup-pending, csharp, needs-rename, needs-review, productivity, status-active, type-app

MacroPilot is a small Windows macro recorder/player written in C#.

It focuses on the ReMouse-like core workflow:

  • record keyboard key down/up events;
  • record mouse clicks, releases, wheel events, and optionally mouse movement;
  • replay the recorded script with repeat count, speed multiplier, and start delay;
  • replay the recorded script for a configured duration in minutes in the WPF app;
  • show the script duration, planned run time, and remaining playback time;
  • save and load editable JSON scripts (*.macropilot.json);
  • start recording in the WPF app with Ctrl+F9;
  • stop recording globally with Shift+F9;
  • cancel playback with Esc when the app has focus.

Projects

  • MacroPilot.Core - shared script model, JSON serialization, global recorder, and playback engine.
  • MacroPilot.App - original Windows Forms shell.
  • MacroPilot.Wpf - newer WPF shell with a cleaner layout and duration-based replay mode.

Requirements

  • Windows
  • For development: .NET 8 SDK or newer with Windows Desktop runtime
  • For portable self-contained builds: Windows with the matching CPU architecture (win-x64, win-x86, or win-arm64)

Build

dotnet build MacroPilot.slnx

Portable Publish

The regular bin\Release\net8.0-windows output is framework-dependent. Do not copy only MacroPilot.Wpf.exe from that folder to another machine unless .NET 8 Desktop Runtime is installed and all neighboring .dll, .json, and resource files are copied with it.

To create a self-contained WPF build for another Windows machine:

.\scripts\publish-wpf-portable.ps1 -Runtime win-x64

The portable output is written to artifacts\MacroPilot.Wpf\win-x64-self-contained. Copy the whole output folder to the target machine. If the folder contains only MacroPilot.Wpf.exe, that EXE already includes the required .NET runtime files.

Run

dotnet run --project .\MacroPilot.Wpf\MacroPilot.Wpf.csproj

To run the Windows Forms version:

dotnet run --project .\MacroPilot.App\MacroPilot.App.csproj

Usage Notes

  1. Click Запись or press Ctrl+F9 in the WPF app to start recording.
  2. Perform the actions you want to capture.
  3. Press Shift+F9 or click Стоп.
  4. Review or edit the action table. The Время column shows each action delay in a readable format.
  5. Set repeat count or switch the WPF app to minute-based duration mode. The unused repeat/duration field is hidden automatically.
  6. Click Пуск.

Mouse coordinates are stored as absolute screen coordinates. For reliable playback, keep the target windows in the same positions or edit the coordinates in the table.

MacroPilot records only while the visible application is in recording mode. It ignores injected events to avoid recording its own playback output. If the target application runs as administrator, Windows may block input injection unless MacroPilot is also started with equivalent privileges.

The WPF recorder also skips mouse actions that hit the MacroPilot window itself. This prevents a recorded click on the app's Стоп button from cancelling playback on the first repeat.

About

RU: приложение для автоматизации макросов и рабочих действий. EN: an application for macro and workflow automation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors