La Web del Programador: Comunidad de Programadores
 
    Pregunta:  23381 - SABER CUALES PROGRAMAS SE ESTAN EJECUTANDO EN EL ADM.TAREAS
Autor:  jerry roman villalobos
Necesito Ayuda, necesito saber, cuales programas se están ejecutando en el administradior de tareas, pantalla que sale al oprimir(COntrol + Alt+delete), esto haciendoce desde una aplicación Visual Basic.
Estoy haciendo un sistema de Monitoreo, el cual se encarga de monitorear una serie de procesos, entonces cuando uno de estos procesos se caen, la aplicacion, tiene que verificar si esta en la lista de tareas, y si no esta levantarlo.

Lo estaba haciendo comprobando el caption de la ventana principal, de la aplicacion que estaba corriendo, pero no me sirve asi.

  Respuesta:  David
Hola amigo....

Hacer eso es muy sencillo..

solo haz un form con un list box llamado list1

le pones esto de codigo::
---------------------------------------------------------
Private Sub Form_Load()
List1.Clear
EnumWindows AddressOf ListarProgs, 0

End Sub
---------------------------------------------------------

y en un modulo pones este codigo::

---------------------------------------------------------
Option Explicit
Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Boolean
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long

Public Function ListarProgs(ByVal hwnd As Long, ByVal lParam As Long) As Boolean
Dim lTexto As String, Comp As Long
Dim ProcName As Long, ProcessId As Long
Dim ExitCode As Long
On Error Resume Next
Comp = GetWindowTextLength(hwnd)
lTexto = Space(Comp)
GetWindowText hwnd, lTexto, Comp + 1

If lTexto <> "" Then

Form1.List1.AddItem lTexto

End If

ListarProgs = True
End Function
---------------------------------------------------------

y listo, ya tienes un simulador de Administrador de Tareas.
si tienes alguna duda u otra pregunta solo escribeme al correo