Process.Start を使用して .NET からプロセスを作成しています。新しいプロセスは、C/C++ で記述されたレガシー アプリです。それと通信するには、プライマリ スレッドに対して PostThreadMessage と同等の処理を行う必要があります。
P/Invoke を使用して PostThreadMessage を呼び出したいのですが、プライマリ スレッドを見つける方法がわかりません。Process オブジェクトにはスレッドのコレクションがありますが、コレクションの最初の項目がプライマリ スレッドである必要はないとドキュメントに記載されています。Thread オブジェクト自体には、それらがプライマリであるかどうかの兆候がないようです。プロセスを作成した直後にスレッド コレクションを確認することはできましたが、スレッド コレクションが 1 つしかないという保証はありません。
では、.NET から別のプロセスのプライマリ スレッドを特定する方法はありますか、それとも Win32 の CreateProcess を使用する必要がありますか?
ありがとう、
ボブ