Создать поддержку макроса автоматизации в приложении - PullRequest
16 голосов
/ 30 октября 2010

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

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

Любая маленькая помощь высоко ценится.

Заранее спасибо.
Самрат.

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

Ответы [ 6 ]

13 голосов
/ 30 октября 2010

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

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

4 голосов
/ 02 ноября 2010

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

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

2 голосов
1 голос
/ 30 октября 2010

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

0 голосов
/ 04 ноября 2010

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

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

0 голосов
/ 03 ноября 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...