gracias mi amigo escafandra por darme una idea de como comenzar bueno e solucionado de ver los TID en una lista ahora seria como aria para ver (start Adress) , (como se Ve en la imagen de arriba) para ver los modulos de esas TID y asi tambien como aria para pausarlo , reanudarlo y terminarlo Bueno colocare el codigo que utilize y asi se expanda mas este hilo hasta finiquitar este proyecto que a muchos de seguro le servira:
Código Delphi
[-]procedure GetThreadList;
var
hThreadSnap, hThread: THandle;
te32: tagTHREADENTRY32;
dwPID: DWORD;
hProcess: THandle;
szFileName: array[0..MAX_PATH] of Char;
dwLen: DWORD;
PID: Integer;
begin
form1.ListBox1 .Clear;
hThreadSnap := CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
if hThreadSnap = INVALID_HANDLE_VALUE then Exit;
try
PID:= 0;
if GetProcessID( form1.Edit1.Text ,PID, 1) then
dwPID := (PID);
te32.dwSize := SizeOf(THREADENTRY32);
if not Thread32First(hThreadSnap, te32) then Exit;
repeat
if te32.th32OwnerProcessID = dwPID then
begin
hThread := OpenThread(THREAD_ALL_ACCESS, False, te32.th32ThreadID);
form1.ListBox1.Items.AddObject(IntToStr(te32.th32ThreadID),TObject(hThread));
end;
hProcess := OpenProcess(PROCESS_QUERY_INFORMATION, False,te32.th32OwnerProcessID);
if hProcess <> 0 then
begin
dwLen := GetModuleFileName(hProcess, szFileName, MAX_PATH);
CloseHandle(hProcess);
end;
until not Thread32Next(hThreadSnap, te32);
finally
CloseHandle(hThreadSnap);
end;
end;
Gracias Saludos