2

我的其他问题中,我询问了在 VS2010 IDE 中启用特定功能的快捷方式。看起来实现它的唯一方法是通过宏记录器,不幸的是我从未使用过它(因为它看起来非常强大!)。

制作宏的直接方法是使用CTRL++启动记录器,然后转到 Debug -> Exceptions,选中我想要的所有框,单击 OK,然后停止记录器SHIFTR不幸的是,我只能看到它打开了“例外”窗口,仅此而已。

我想如果宏记录器不记录鼠标事件,那么它肯定必须记录键盘事件,但我也错了。在编辑我的 TemporaryMacro 后,我看到它唯一做的就是

DTE.ExecuteCommand("Debug.Exceptions")

我真正想做的是添加一个可以输入击键的方法,例如DOWNALT+TENTER.

我疯狂地用谷歌搜索,浏览了 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直到对话框被解除后才被调用。

那么有谁知道如何使用宏记录器通过键盘命令与弹出对话框进行交互?

4

1 回答 1

0

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

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

于 2011-08-07T11:22:34.243 回答