Взаимодействие с диалогами в VS2010 с помощью Macro Recorder (с помощью Visual Studio Macro Recorder для автоматического ввода нажатий клавиш) - PullRequest
2 голосов
/ 16 июня 2011

В одном из моих других вопросов я спросил о ярлыке для включения определенной функции в IDE VS2010.Похоже, что единственный способ сделать это - использовать Macro Recorder, который я, к сожалению, никогда не использовал (поскольку он выглядит довольно мощно!).

Простой способ сделать мой макрос - запустить рекордерс помощью CTRL + SHIFT + R , затем перейдите к «Отладка -> Исключения», отметьте все нужные поля, нажмите «ОК» и затем остановите рекордер.К сожалению, все, что я могу видеть, это то, что он открывает окно Исключений, и не более того.

Я подумал, что если Macro Recorder не записывает события мыши, то, конечно, он должен записывать события клавиатуры, ноЯ тоже был неправ в этом.После редактирования моего TemporaryMacro я увидел, что единственное, что он делает, это

DTE.ExecuteCommand("Debug.Exceptions")

Что я действительно хочу сделать, так это добавить метод, который может вводить нажатия клавиш, такие как DOWN , ALT + T и ENTER .

Я гуглил как сумасшедший, прошел MSDN и проверил здесь на SO.Мне стыдно сказать, что я не смог найти в DTE никакой информации об объекте, которая позволяла бы мне отправлять нажатия клавиш!Надеюсь, кто-то здесь будет знать, как это сделать!

Это самая близкая вещь, которую я нашел к документу, касающемуся автоматизации нажатия клавиш: http://msdn.microsoft.com/en-us/library/8h31zbch.aspx

Редактировать: Я понял, как отправлять нажатия клавиш, но как вы можете отправить их во всплывающие диалоги ???

Вот код, который я пробовал:

Public Module RecordingModule
    Sub TemporaryMacro()
        DTE.ExecuteCommand("Debug.Exceptions")
        System.Windows.Forms.SendKeys.SendWait("+{TAB}")
        System.Windows.Forms.SendKeys.SendWait("{DOWN}")
        System.Windows.Forms.SendKeys.SendWait("%T")
        System.Windows.Forms.SendKeys.SendWait("{ENTER}")
    End Sub
End Module

Я не могЭто не сработало, поэтому я попытался отладить, и тогда я понял, что происходит - SendWait вызывается только после закрытия диалогового окна.

Так кто-нибудь знает, как использовать Macro Recorder для взаимодействия с всплывающими диалогами с помощью клавиатурных команд?

Ответы [ 2 ]

1 голос
/ 26 октября 2011

посмотрите на мою попытку: ссылка на решение Я использовал таймер отправки клавиш в диалог ...

0 голосов
/ 07 августа 2011

Не думаю, что вы можете отправлять нажатия клавиш в диалоговое окно.

Я бы порекомендовал вам взглянуть на AutoHotKey , оттуда вы можете определять взаимодействия с диалоговыми окнами. Он работает за пределами Visual Studio, поэтому вы, вероятно, найдете для него много других применений.

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