C#で他アプリケーションを操作するための基礎知識

こんにちは、大昔はVC++でWindowsプログラミングをしていたwakです。先日業務でC#のコードから他のWindowsアプリを強制的にコントロール(メニューをクリックしたり、キー操作を行ったりといった手動操作をエミュレートしてアプリを制御する)して処理を自動化する必要に迫られ、頑張ってそんな感じのコードを書きました…