Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Task Manager - frmProcessi.frm

frmProcessi.frm

Caricato da:
Scarica il programma completo

  1. Option Explicit
  2. Dim Processo As Variant
  3. Private Const TH32CS_SNAPPROCESS = &H2
  4. Private Const MAX_PATH As Integer = 260
  5.  
  6. Private Type PROCESSENTRY32
  7.     dwSize As Long
  8.     cntUsage As Long
  9.     th32ProcessID As Long
  10.     th32DefaultHeapID As Long
  11.     th32ModuleID As Long
  12.     cntThreads As Long
  13.     th32ParentProcessID As Long
  14.     pcPriClassBase As Long
  15.     dwFlags As Long
  16.     szExeFile As String * MAX_PATH
  17. End Type
  18.  
  19. Private Declare Function CreateToolhelp32Snapshot Lib "Kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
  20. Private Declare Function Process32First Lib "Kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
  21. Private Declare Function Process32Next Lib "Kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
  22. Private Declare Sub CloseHandle Lib "Kernel32" (ByVal hObject As Long)
  23.  
  24. Private Sub cmdAggiorna_Click()
  25. Dim hSnapShot As Long
  26.     Dim uProcess As PROCESSENTRY32
  27.     Dim lngRet As Long
  28.     hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
  29.     uProcess.dwSize = Len(uProcess)
  30.     lngRet = Process32First(hSnapShot, uProcess)
  31. lstProcessi.Clear
  32.     Do While lngRet
  33.         lstProcessi.AddItem Left$(uProcess.szExeFile, InStr(1, uProcess.szExeFile, vbNullChar) - 1)
  34.         lngRet = Process32Next(hSnapShot, uProcess)
  35.     Loop
  36.     CloseHandle hSnapShot
  37. End Sub
  38.  
  39. Private Sub cmdTermina_Click()
  40. Dim Selezionato As Integer
  41. Selezionato = lstProcessi.ListIndex
  42. If Not Selezionato < 2 Then
  43. TerminaProcesso (lstProcessi.List(Selezionato))
  44. End If
  45. End Sub
  46.  
  47. Private Sub Form_Load()
  48.     Dim hSnapShot As Long
  49.     Dim uProcess As PROCESSENTRY32
  50.     Dim lngRet As Long
  51.     hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
  52.     uProcess.dwSize = Len(uProcess)
  53.     lngRet = Process32First(hSnapShot, uProcess)
  54. lstProcessi.Clear
  55.     Do While lngRet
  56.         lstProcessi.AddItem Left$(uProcess.szExeFile, InStr(1, uProcess.szExeFile, vbNullChar) - 1)
  57.         lngRet = Process32Next(hSnapShot, uProcess)
  58.     Loop
  59.     CloseHandle hSnapShot
  60. End Sub
  61.  
  62.  
  63.  
  64. Function TerminaProcesso(NomeProcesso As String)
  65.    For Each Processo In GetObject("winmgmts:").InstancesOf("win32_process")
  66.        If Processo.Name = NomeProcesso Then Processo.Terminate
  67.    Next
  68. End Function