我正在使用 Process.Start 从 .NET 创建一个进程。新进程是一个遗留应用程序,用 C/C++ 编写。为了与它通信,我需要对其主线程执行相当于 PostThreadMessage 的操作。
我很乐意使用 P/Invoke 来调用 PostThreadMessage,但我看不到如何找到主线程。Process 对象有一个线程集合,但文档说集合中的第一项不必是主线程。Thread 对象本身似乎没有任何迹象表明它们是否是主要的。虽然我可以在创建进程后立即查看线程集合,但这并不能保证只有一个。
那么,有没有办法让我从.NET 中确定另一个进程的主线程,还是我需要求助于使用 Win32 的 CreateProcess?
谢谢,
鲍勃