Создать автоматическую поддержку макросов в приложении

Мне нужно получить макрос автоматизации как вещь в нашем настольном приложении. Настольное приложение, вероятно, будет в VB.NET или С#.net. Причина заключается в том, чтобы позволить пользователю записывать и воспроизводить определенные задачи, которые они хотели бы автоматизировать. Что-то вроде макросов в офисных приложениях и визуальной студии. Первое, что приходит мне на ум, - VBA.

Это правильный подход или есть ли другие варианты?
Любые ошибки или вещи, на которые нужно обратить внимание, если какой-то орган уже сделал это раньше.
Некоторые полезные ссылки, чтобы заставить меня двигаться.

Какая бы небольшая помощь не была высоко оценена.

Спасибо в Advance.
Самрат.

P.S. Это довольно общий вопрос, не относящийся к какой-либо конкретной технологии. Если кто-то из вас считает, что теги неприемлемы или ему нужны еще несколько тегов, которые я пропустил, не стесняйтесь их редактировать:)

Ответы

Ответ 1

Вы думаете о макросах, которые предназначены только для "записи-воспроизведения" некоторых последовательных действий? Это может быть довольно неплохо, если вы используете Command pattern в своем пользовательском интерфейсе. Затем каждое действие пользователя описывается объектом (полученным из абстрактного класса Command, имеющего метод "execute()" ). Теперь запись и воспроизведение - это просто сохранение списка объектов команд, их сериализация и макрос. Для повторного воспроизведения вы просто десериализуете данные и снова выполняете список команд.

Надеюсь, что это поможет!

Ответ 2

VSTA (Инструменты Visual Studio для приложений) заменяет VBA. Он не поймал столько же, сколько VBA с сторонними поставщиками или даже с собственными продуктами MSFT (единственное, что в настоящее время имеет это InfoPath). Но это гораздо более современно, чем VBA, если это вызывает беспокойство.

Ознакомьтесь с главной страницей VSTA и, в частности, видео: Интеграция VSTA для включения макросъемки.

Ответ 4

Должен ли он быть встроен в ваше приложение? Существуют макрорешения на уровне Windows (при условии, что ваша целевая ОС)

Ответ 5

Вы можете использовать командлеты Powershell .

Внедрите каждое действие, выполняемое вашим графическим интерфейсом, как cmdlet. Затем пользователи могут использовать Powershell для script. Я считаю, что это подход, используемый Exchange Server и SQL Server. Конечно, оба они нацелены на sysadmin пользователей

Ответ 6

Поскольку вы сами разрабатываете приложение, вы должны иметь возможность напрямую использовать Windows API для создания событий (мыши и мыши) мыши и клавиатуры.

Посмотрите keybd_event, mouse_event и GetCursorPos. Они довольно просты в использовании (я считаю их более прямыми, чем использование SendInput, но это только мое мнение).