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 |