2012-09-24 3 views
6

私はプログラムを観察していて、しばらくの間「状態:待機」状態であれば、それを殺したいと思っています。プログラムの状態を取得するにはどうすればよいですか?

State: wait:executive

どのように私はコードでその状態を取得することができます:ここで

は、プロセスエクスプローラのスクリーンショットですか?それとも、その州が正確に意味するものを誰かに教えてくれるのだろうか?これは私の問題を解決するための正しいクエリを見つけるのに役立ちます。

+0

情報は、プロセスのPCBのどこかでなければなりません。このウィンドウは8ですか? – nullpotent

+0

これはWindows 7にはありません。 – rekire

+2

アプリケーションのメインスレッドが待ち受けているのはまったく正常です。 –

答えて

2

それはプログラムの状態ではありませんが、それは状態です1つのプロセスは多くのスレッドを持つことができます。

WaitForSingleObjectに電話して、いくつかの州を特定することができます。

COMを使用し、Win32_Thread classを選択してWMIをインスタンス化することもできます。ここ

Here is some example.

さらに詳しい情報:How to determine that a win32 thread is either in Wait or Join or Sleep state in c++

+0

そのヒントをありがとうございます。私はそれを理解して実装するために時間が必要です。 – rekire

2

それはスレッドがWMI Win32_Thread(または.NET System.Diagnostics.ProcessThread WaitReason)を取り込むことができるエグゼクティブ

のスケジューラ/コンポーネントを待っていることを意味

関連する問題