Hi,
ich hatte mal ein ähnliches Problem und kann dafür ProcessXP nur empfehlen. Den "nachfolger" von Microsoft habe ich mir nur kurz angeschaut, wird dir nichts bringen.
Ziehe dir diese Version
hier.
Per Rechtsklick auf den Prozess und über die Properties kommst du dann zu dem Reiter "Threads" da steht immerhin schon deren Stack-Addresse drinnen. guck dir das Teil genau an...damit kann man sehr viel machen.
greez
gabneo
Edit:
Der Microsoft-link funktioniert nicht: klickst du
hier!
Edit2:
Ich hab hier noch ein bißchen Sourcecode ausgegraben, der dir anzeigt wieviele Threads du gerade noch laufen hast.
Delphi-Quellcode:
uses TlHelp32
function Findthread:integer;
var procid:dword; SHandle:THandle; Continue:boolean; ProcEntry:Pr ocessEntry32; i:integer;
begin
i:=0;
GetWindowThreadProcessID(application.Handle,@procid);
shandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,procid);
ProcEntry.dwSize:=Sizeof(ProcEntry);
Continue:=Process32First(SHandle, ProcEntry);
while Continue do
begin
if ProcEntry.th32ProcessID=ProcID then i:=procentry.cntThreads;
Continue:=Process32Next(SHandle, ProcEntry);
end;
CloseHandle(SHandle);
result:=i;
end;
Und dann gibt es hier in der Delphi-Praxis einige Diskussions-Threads über das entleeren von Speicherbereichen einfach suchen.