2

他の質問の 1 つで、VS2010 IDE の特定の機能を有効にするショートカットについて尋ねました。それを実現する唯一の方法はマクロ レコーダーを使用することのようですが、残念ながら私はマクロ レコーダーを使用したことがありません (非常に強力に見えるためです!)。

マクロを作成する簡単な方法は、レコーダーをCTRL+ SHIFT+Rで開始し、[デバッグ] -> [例外] に移動し、必要なすべてのボックスをチェックして [OK] をクリックし、レコーダーを停止することです。残念ながら、私が見ることができるのは、例外ウィンドウを開くことだけで、それ以上のものはありません.

マクロ レコーダーがマウス イベントを記録しない場合は、キーボード イベントを記録する必要があると考えましたが、それについても間違っていました。私のTemporaryMacroを編集すると、それが行う唯一のことは次のとおりであることがわかりました

DTE.ExecuteCommand("Debug.Exceptions")

私が本当にやりたいのはDOWN、 、ALT+ 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 に答える