send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Cerrar Cualquier proceso a partir del nombre

  • 0 Respuestas
  • 1232 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5280
  • Actividad:
    28.33%
  • Reputación 28
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Julio 26, 2010, 12:35:13 pm »
Código: Visual Basic
  1. Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
  2. Private Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
  3. Private Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
  4. Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)
  5. Private Type PROCESSENTRY32
  6.     dwSize As Long
  7.     cntUsage As Long
  8.     th32ProcessID As Long
  9.     th32DefaultHeapID As Long
  10.     th32ModuleID As Long
  11.     cntThreads As Long
  12.     th32ParentProcessID As Long
  13.     pcPriClassBase As Long
  14.     dwFlags As Long
  15.     szExeFile As String * 260
  16. End Type
  17. Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
  18. Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  19. Private Const PROCESS_TERMINATE = &H1
  20. Private Const PROCESS_CREATE_THREAD = &H2
  21. Private Const PROCESS_VM_OPERATION = &H8
  22. Private Const PROCESS_VM_READ = &H10
  23. Private Const PROCESS_VM_WRITE = &H20
  24. Private Const PROCESS_DUP_HANDLE = &H40
  25. Private Const PROCESS_CREATE_PROCESS = &H80
  26. Private Const PROCESS_SET_QUOTA = &H100
  27. Private Const PROCESS_SET_INFORMATION = &H200
  28. Private Const PROCESS_QUERY_INFORMATION = &H400
  29. Private Const STANDARD_RIGHTS_REQUIRED = &HF0000
  30. Private Const SYNCHRONIZE = &H100000
  31. Private Const PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF
  32. Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  33. Function SearchProcessID(ByVal ProcessName As String)
  34. SearchProcessID = 0
  35. Dim hSnapShot As Long
  36. Dim uProceso As PROCESSENTRY32
  37. Dim res As Long
  38. hSnapShot = CreateToolhelpSnapshot(2&, 0&)
  39. If hSnapShot <> 0 Then
  40.     uProceso.dwSize = Len(uProceso)
  41.     res = ProcessFirst(hSnapShot, uProceso)
  42.     Do While res
  43.         ActualProcess = Left$(uProceso.szExeFile, InStr(uProceso.szExeFile, Chr$(0)) - 1)
  44.         If UCase$(ActualProcess) = UCase$(ProcessName) Then
  45.             SearchProcessID = uProceso.th32ProcessID
  46.         End If
  47.         res = ProcessNext(hSnapShot, uProceso)
  48.     Loop
  49.     Call CloseHandle(hSnapShot)
  50. End If
  51. End Function
  52. Public Sub CloseProcess(ByVal ProcessName As String)
  53. Dim hProcess As Long, iResult As Long
  54. mainProcessID = SearchProcessID(ProcessName)
  55. hProcess = OpenProcess(PROCESS_TERMINATE, True, mainProcessID)
  56. iResult = TerminateProcess(hProcess, 99)
  57. CloseHandle hProcess
  58. End Sub

Para cerrar el proceso:
CloseProcess "MainProcess.exe"

Además Podrás Detectar si un proceso está abierto:
If SearchProcessID("MainProcess.exe") = 0 Then
MsgBox "El Proceso no está abierto"
Else
MsgBox "El Proceso está abierto"
End If
« Última modificación: Mayo 12, 2014, 03:15:21 pm por Expermicid »


 

¿Te gustó el post? COMPARTILO!



Como validar cualquier clase de cadena

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1163
Último mensaje Julio 26, 2010, 04:11:28 pm
por ANTRAX
Ejecutar Cualquier tipo de Archivos

Iniciado por ANTRAX

Respuestas: 1
Vistas: 1507
Último mensaje Julio 26, 2010, 12:50:40 pm
por _katze_
Ejecutar cualquier programa

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1163
Último mensaje Julio 26, 2010, 11:49:25 am
por ANTRAX
Llamada de un formulario mediante el nombre como string

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1177
Último mensaje Julio 26, 2010, 04:08:58 pm
por ANTRAX
Cambiar el nombre del ordenador (A pura API)

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1057
Último mensaje Julio 26, 2010, 12:19:48 pm
por ANTRAX