我使用Process.Start從.NET創建了一個進程。新進程是一個遺留應用程序,用C/C++編寫。爲了與它溝通,我需要將PostThreadMessage等同於其主線程。從.NET中與非託管進程交談
我很樂意使用P/Invoke來調用PostThreadMessage,但我看不到如何找到主線程。 Process對象有一個線程集合,但是該文檔說集合中的第一個項目不需要是主線程。線程對象本身似乎沒有任何跡象表明它們是否是主要的。雖然我可以在創建流程後立即查看線程集合,但這並不能保證只有一個。
那麼,有沒有辦法讓我從.NET中確定另一個進程的主線程,還是需要求助於使用Win32的CreateProcess?
感謝,
鮑勃
不幸的是,傳統的應用程序沒有一個窗口。如果一個進程快速啓動多個線程,他們的開始時間可能是相同的。 – 2010-10-08 12:45:09