WIndowsのCOMコンポーネントは、STA(シングルスレッドアパートメント)でないとエラーになります。
Windows Forms Applicationを作ると、デフォルトではMain()にSTAThreadが付いているはずです。このため、普段は問題ありません。
static class Program
{
[STAThread]
static void Main()
{
}
}
しかし、Threadを新規作成して、そのスレッドないでクリップボードやActiveXコントロールを使おうとすると、ThreadStateExceptionが発生します。
Threadオブジェクトのプロパティで設定しておきましょう。
var th= new Thread(new ThreadStart(threadMethod)); th.SetApartmentState(ApartmentState.STA); th.Start();