DOBON.NET DOBON.NETプログラミング掲示板過去ログ

クラスライブリのSTAThread属性

環境/言語:[VB.NET]
分類:[.NET]

とあるソフトのプラグインを作っているのですが。
テキストをクリップボードに入れたいのですが、STAThread属性の問題でエラーがでてしまいます
クラスライブリの場合でSTAThread属性にするにはどのようにしたらいいのでしょうか?
■No29880に返信(QBさんの記事)
> とあるソフトのプラグインを作っているのですが。
> テキストをクリップボードに入れたいのですが、STAThread属性の問題でエラーがでてしまいます
> クラスライブリの場合でSTAThread属性にするにはどのようにしたらいいのでしょうか?

STAThread 属性や MTAThread 属性はプログラムのエントリポイントにのみ効果がありますので、エントリポイントをあなたが制御できない状況下では、それらの属性に意味はありません。
( http://msdn.microsoft.com/ja-jp/library/system.stathreadattribute(v=vs.90).aspx )

すでに動作しているマネージスレッドの STA/MTA の切り替えは基本的になしとなっていますので、新しくスレッドを作成するなどの対応が必要かもしれません。
Thread の作成し、開始する前に SetApartmentState で STA を指定すれば、新規に STA スレッドを作成できます。
Azulean さんありがとうございます。
スレッド作成して SetApartmentState をSTAにしていけました
こんな方法があるだなんて勉強不足でしたありがとうございます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板