Создать автоматическую поддержку макросов в приложении
Мне нужно получить макрос автоматизации как вещь в нашем настольном приложении. Настольное приложение, вероятно, будет в VB.NET или С#.net.
Причина заключается в том, чтобы позволить пользователю записывать и воспроизводить определенные задачи, которые они хотели бы автоматизировать. Что-то вроде макросов в офисных приложениях и визуальной студии.
Первое, что приходит мне на ум, - VBA.
Это правильный подход или есть ли другие варианты?
Любые ошибки или вещи, на которые нужно обратить внимание, если какой-то орган уже сделал это раньше.
Некоторые полезные ссылки, чтобы заставить меня двигаться.
Какая бы небольшая помощь не была высоко оценена.
Спасибо в Advance.
Самрат.
P.S. Это довольно общий вопрос, не относящийся к какой-либо конкретной технологии. Если кто-то из вас считает, что теги неприемлемы или ему нужны еще несколько тегов, которые я пропустил, не стесняйтесь их редактировать:)
Ответы
Ответ 1
Вы думаете о макросах, которые предназначены только для "записи-воспроизведения" некоторых последовательных действий? Это может быть довольно неплохо, если вы используете Command pattern в своем пользовательском интерфейсе. Затем каждое действие пользователя описывается объектом (полученным из абстрактного класса Command, имеющего метод "execute()" ). Теперь запись и воспроизведение - это просто сохранение списка объектов команд, их сериализация и макрос. Для повторного воспроизведения вы просто десериализуете данные и снова выполняете список команд.
Надеюсь, что это поможет!
Ответ 2
VSTA (Инструменты Visual Studio для приложений) заменяет VBA. Он не поймал столько же, сколько VBA с сторонними поставщиками или даже с собственными продуктами MSFT (единственное, что в настоящее время имеет это InfoPath). Но это гораздо более современно, чем VBA, если это вызывает беспокойство.
Ознакомьтесь с главной страницей VSTA и, в частности, видео: Интеграция VSTA для включения макросъемки.
Ответ 3
Вот несколько статей о теме из MSDN:
Реализовать объектно-ориентированную модель Microsoft Word для вашего приложения .NET Framework
StickOut: приложение для настольных приложений Notes в .NET Framework 2.0
Ответ 4
Должен ли он быть встроен в ваше приложение? Существуют макрорешения на уровне Windows (при условии, что ваша целевая ОС)
Ответ 5
Вы можете использовать командлеты Powershell .
Внедрите каждое действие, выполняемое вашим графическим интерфейсом, как cmdlet
. Затем пользователи могут использовать Powershell для script. Я считаю, что это подход, используемый Exchange Server и SQL Server. Конечно, оба они нацелены на sysadmin пользователей
Ответ 6
Поскольку вы сами разрабатываете приложение, вы должны иметь возможность напрямую использовать Windows API для создания событий (мыши и мыши) мыши и клавиатуры.
Посмотрите keybd_event, mouse_event и GetCursorPos. Они довольно просты в использовании (я считаю их более прямыми, чем использование SendInput, но это только мое мнение).