| ||||
![]() Bueno, tengo un problema con las tareas en la Computadora, es que quiero obtener un listado de ellas y poder cerrar cualquiera de ellas (como el Administrador de Tareas Ctrl+Alt+Del)... Gracias de antemano
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
podrias hacer una buskeda de todos los ejecutables del pc y ver si se estan ejecutando, aun asi... seria chungo comprobar cuantos ejecutables tiene un pc y ademas comprobar uno a uno si se estan ejecutando. Pero no se me ocurre nada mas |
| |||
Cita:
Iniciado por Manu_Leon podrias hacer una buskeda de todos los ejecutables del pc y ver si se estan ejecutando, aun asi... seria chungo comprobar cuantos ejecutables tiene un pc y ademas comprobar uno a uno si se estan ejecutando. Pero no se me ocurre nada mas * |
| ||||
![]() Pues en realidad no es eso lo que quiero, porque un mismo programa puede estar ejecutando varias tareas, o sea que según había visto en el administrador de tareas, es como si cada ventana en la barra de tareas fuera una tarea diferente, ahora el problema que me surge, es por ejemplo si tengo varias ventanas del Internet Explorer, y cada una de ellas es una tarea, como hago para cerrar esa "tarea" sin que me cuelgue el Internet Explorer, no sé si me explico.....
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| ||||
Alguien que sepa??????? Para terminar un proyecto que tengo, y me urge hacerlo.... help please... ![]() ![]() ![]()
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| ||||
![]() Help Me, es un problema que necesito resolver, si alguien sabe que "hable ahora o cállese para siempre" (jeje), please.... ![]()
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| ||||
![]() Y les cuento lo que quiero hacer, simular el Administrador de Tareas, lo de los procesos ya está listo, pero ahora mi gran problema es lo de las Tareas, el gran problema de cerrar una, o "Pasar a..." la tarea, y lo peor es que ya tengo que terminar el proyecto, si alguien me ayuda por favor......
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| ||||
![]() Tristemente, tendré que terminar el proyecto solo con los procesos, Gracias de Todos Modos.....
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| ||||
poner un list (list1), 3 botones, y un modulo en el modulo poner: Public Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long Public Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long Public Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long Public Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long) Public Type PROCESSENTRY32 dwSize As Long cntUsage As Long th32ProcessID As Long th32DefaultHeapID As Long th32ModuleID As Long cntThreads As Long th32ParentProcessID As Long pcPriClassBase As Long dwFlags As Long szExeFile As String * 260 End Type Public Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Public Const PROCESS_TERMINATE = &H1 Public Const PROCESS_CREATE_THREAD = &H2 Public Const PROCESS_VM_OPERATION = &H8 Public Const PROCESS_VM_READ = &H10 Public Const PROCESS_VM_WRITE = &H20 Public Const PROCESS_DUP_HANDLE = &H40 Public Const PROCESS_CREATE_PROCESS = &H80 Public Const PROCESS_SET_QUOTA = &H100 Public Const PROCESS_SET_INFORMATION = &H200 Public Const PROCESS_QUERY_INFORMATION = &H400 Public Const STANDARD_RIGHTS_REQUIRED = &HF0000 Public Const SYNCHRONIZE = &H100000 Public Const PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) '================================================= ==== 'ahora el codigo respectivo a cada objeto 'boton finalizar Private Sub Command2_Click() Dim mensaje As Integer CloseProcess List1.Text If SearchProcessID("MainProcess.exe") = 0 Then mensaje = MsgBox("El Proceso Finalizardo", vbInformation + vbOKOnly, "Proceso") End If List1.Clear hSnapShot = CreateToolhelpSnapshot(2&, 0&) If hSnapShot <> 0 Then uProceso.dwSize = Len(uProceso) res = ProcessFirst(hSnapShot, uProceso) Do While res List1.AddItem Left$(uProceso.szExeFile, InStr(uProceso.szExeFile, Chr$(0)) - 1) res = ProcessNext(hSnapShot, uProceso) Loop Call CloseHandle(hSnapShot) End If Me.Caption = "Matar Procesos" & ":: hay " & List1.ListCount & " programas" End Sub 'boton explorer reload Private Sub Command3_Click() Dim mensaje As Integer CloseProcess "explorer.exe" If SearchProcessID("MainProcess.exe") = 0 Then mensaje = MsgBox("El Proceso Finalizado", vbInformation + vbOKOnly, "Proceso") End If Shell "C:\WINDOWS\explorer.scf" End Sub 'en el boton refresh Private Sub Command6_Click() List1.Clear hSnapShot = CreateToolhelpSnapshot(2&, 0&) If hSnapShot <> 0 Then uProceso.dwSize = Len(uProceso) res = ProcessFirst(hSnapShot, uProceso) Do While res List1.AddItem Left$(uProceso.szExeFile, InStr(uProceso.szExeFile, Chr$(0)) - 1) res = ProcessNext(hSnapShot, uProceso) Loop Call CloseHandle(hSnapShot) End If Me.Caption = "Matar Procesos" & ":: hay " & List1.ListCount & " programas" '================================== ACLARACION: cuando me refiero a botOn finalizarO CUALKIERA DE ELLOS (REFRESH, EXPLORER RELOAD), me refiero al caption del boton, fijarse ke dice command2_click COMMAND6_CLICK 3Y COMMAND6_CLICK '=============================== salu2 y espero te sirva david
__________________ LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA |
| ||||
![]() Cita: Gracias aldo pero en realidad no me sirve, es que esa parte de los procesos ya lo tengo hecha, lo que quería eran las tareas, pero como y dije, terminaré ya nomás el proyecto como está, nos vemos.....
Iniciado por aldo1982 poner un list (list1), 3 botones, y un modulo en el modulo poner: Public Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long Public Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long Public Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long Public Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long) Public Type PROCESSENTRY32 dwSize As Long cntUsage As Long th32ProcessID As Long th32DefaultHeapID As Long th32ModuleID As Long cntThreads As Long th32ParentProcessID As Long pcPriClassBase As Long dwFlags As Long szExeFile As String * 260 End Type Public Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Public Const PROCESS_TERMINATE = &H1 Public Const PROCESS_CREATE_THREAD = &H2 Public Const PROCESS_VM_OPERATION = &H8 Public Const PROCESS_VM_READ = &H10 Public Const PROCESS_VM_WRITE = &H20 Public Const PROCESS_DUP_HANDLE = &H40 Public Const PROCESS_CREATE_PROCESS = &H80 Public Const PROCESS_SET_QUOTA = &H100 Public Const PROCESS_SET_INFORMATION = &H200 Public Const PROCESS_QUERY_INFORMATION = &H400 Public Const STANDARD_RIGHTS_REQUIRED = &HF0000 Public Const SYNCHRONIZE = &H100000 Public Const PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) '================================================= ==== 'ahora el codigo respectivo a cada objeto 'boton finalizar Private Sub Command2_Click() Dim mensaje As Integer CloseProcess List1.Text If SearchProcessID("MainProcess.exe") = 0 Then mensaje = MsgBox("El Proceso Finalizardo", vbInformation + vbOKOnly, "Proceso") End If List1.Clear hSnapShot = CreateToolhelpSnapshot(2&, 0&) If hSnapShot <> 0 Then uProceso.dwSize = Len(uProceso) res = ProcessFirst(hSnapShot, uProceso) Do While res List1.AddItem Left$(uProceso.szExeFile, InStr(uProceso.szExeFile, Chr$(0)) - 1) res = ProcessNext(hSnapShot, uProceso) Loop Call CloseHandle(hSnapShot) End If Me.Caption = "Matar Procesos" & ":: hay " & List1.ListCount & " programas" End Sub 'boton explorer reload Private Sub Command3_Click() Dim mensaje As Integer CloseProcess "explorer.exe" If SearchProcessID("MainProcess.exe") = 0 Then mensaje = MsgBox("El Proceso Finalizado", vbInformation + vbOKOnly, "Proceso") End If Shell "C:\WINDOWS\explorer.scf" End Sub 'en el boton refresh Private Sub Command6_Click() List1.Clear hSnapShot = CreateToolhelpSnapshot(2&, 0&) If hSnapShot <> 0 Then uProceso.dwSize = Len(uProceso) res = ProcessFirst(hSnapShot, uProceso) Do While res List1.AddItem Left$(uProceso.szExeFile, InStr(uProceso.szExeFile, Chr$(0)) - 1) res = ProcessNext(hSnapShot, uProceso) Loop Call CloseHandle(hSnapShot) End If Me.Caption = "Matar Procesos" & ":: hay " & List1.ListCount & " programas" '================================== ACLARACION: cuando me refiero a botOn finalizarO CUALKIERA DE ELLOS (REFRESH, EXPLORER RELOAD), me refiero al caption del boton, fijarse ke dice command2_click COMMAND6_CLICK 3Y COMMAND6_CLICK '=============================== salu2 y espero te sirva david
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| ||||
ók Davis, Bué Perdon Ke No Te Haya Servido, Veré De Buscar Para Ver Si Puedo Ayudar En Algo, Te Aviso En Este Post Si Encuentro Algo. Un Saludo
__________________ LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA |