
30/08/2005, 14:34
|
 | Moderador | | Fecha de Ingreso: abril-2005 Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 20 años Puntos: 839 | |
Cita:
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 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..... |