私はすべてのスレッドを実行するこのコードを持っています。私は自分のプロセスからのみスレッドを取得したいと思います。システム上で実行されているすべてのスレッドをループする必要はありません。スレッドを同じプロセスで一覧表示する方法は?
var
SnapProcHandle: THandle;
NextProc : Boolean;
TThreadEntry : TThreadEntry32;
begin
SnapProcHandle := CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
Result := (SnapProcHandle <> INVALID_HANDLE_VALUE);
if Result then
try
TThreadEntry.dwSize := SizeOf(TThreadEntry);
NextProc := Thread32First(SnapProcHandle, TThreadEntry);
while NextProc do
begin
if TThreadEntry.th32OwnerProcessID = PID then
begin
Memo1.Lines.Add('Thread ID '+IntToStr(TThreadEntry.th32ThreadID));
Memo1.Lines.Add('base priority '+inttostr(TThreadEntry.tpBasePri));
Memo1.Lines.Add('delta priority '+inttostr(TThreadEntry.tpBasePri));
end;
NextProc := Thread32Next(SnapProcHandle, TThreadEntry);
end;
finally
CloseHandle(SnapProcHandle);
end;
end;
あなたの英語は問題ありませんが、あなたのコードは読めません。質問を編集し、コードの書式を編集する際のヘルプを読んでください。これを行うには時間をかけてください。あなたの前に非常に多くの20の後にあきらめないでください。 –
dupes:http://stackoverflow.com/q/2055642/800214およびhttp://stackoverflow.com/questions/3809708/running-threads-count – whosrdaddy
質問とそのコードがどのように関連しているかを理解することも難しい。コードが何を期待していますか?それは何をするためのものか。 –