RE: Kitar la "basura" del taskmanager!!
No hay una API específica para listar todos los procesos que están en
ejecución, ni una para terminarlos.
Los procesos están divididos en subprocesos algunos de ellos (Threads), por lo que las API's son:
Public Declare Function TerminateProcess Lib "kernel32" Alias
"TerminateProcess" (ByVal hProcess As Long, ByVal uExitCode As Long)
As Long
Public Declare Function TerminateThread Lib "kernel32" Alias
"TerminateThread" (ByVal hThread As Long, ByVal dwExitCode As Long) As Long
Para enumerar ventanas y procesos de ventanas:
Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Public Declare Function EnumThreadWindows Lib "user32" Alias
"EnumThreadWindows" (ByVal dwThreadId As Long, ByVal lpfn As Long,
ByVal lParam As Long) As Long
La primera de estas API usa una función callback por lo que vas a
tener que armar una función para pasar como puntero y que capture los
mensajes.
Lo que intentas hacer desde VB no lo veo muy simple, creo que tendrías
que hacerlo en VC++, además si lo ejecutas en NT/2000 vas a tener el
problema de los procesos que corran como servicios, los procesos
críticos y además los permisos del usuario logueado. ¿A qué "basura" te referís?