使用宏录制器与VS2010中的对话框进行交互(使用Visual Studio宏录制器自动输入击键)

时间:2011-06-16 13:11:32

标签: visual-studio visual-studio-2010 vba dialog visual-studio-macros

one of my other questions中,我询问了在VS2010 IDE中启用特定功能的快捷方式。看起来实现它的唯一方法是通过宏记录器,我遗憾地从未使用过(因为它看起来非常强大!)。

制作我的宏的简单方法是使用 CTRL + SHIFT + R 启动录音机,然后转到调试 - &gt ;例外,检查我想要的所有方框,单击“确定”,然后停止录像机。不幸的是,我所能看到的只是它打开了Exceptions窗口,而不仅仅是那个。

我认为如果Macro Recorder没有记录鼠标事件,那么肯定它必须记录键盘事件,但我也错了。编辑我的TemporaryMacro后,我发现它唯一能做的就是

DTE.ExecuteCommand("Debug.Exceptions")

我真正想做的是添加一个可以输入击键的方法,如 DOWN ALT + T ENTER

我用Google搜索疯狂,经过MSDN,并在此处查看。我很尴尬地说我无法在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 个答案:

答案 0 :(得分:1)

看看我的尝试:link to solution 我用定时器发送键击到对话框...

答案 1 :(得分:0)

我认为您不能将键击发送到对话框。

我建议您查看AutoHotKey,然后您可以定义与对话框的交互。它在Visual Studio之外工作,因此您可能会发现它有更多用途。