В одном из моих других вопросов я спросил о ярлыке для включения определенной функции в 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 для взаимодействия с всплывающими диалогами с помощью клавиатурных команд?