Private Declare Sub CloseHandle Lib "Kernel32" (ByVal hPass As Long)
Private Declare Function TerminateProcess Lib "Kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function OpenProcess Lib "Kernel32" (ByVal dwDesiredAccessas As Long, ByVal bInheritHandle As Long, ByVal dwProcId As Long) As Long
Private Declare Function CreateToolhelp32Snapshot Lib "Kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function Process32Min Lib "Kernel32" (ByVal hSnapShot As Long, uProcess As PROC) As Long
Private Declare Function Process32Next Lib "Kernel32" (ByVal hSnapShot As Long, uProcess As PROC) As Long
Sub KillProcess(sProc As String)
On Error Resume Next
Dim hSS As Long, uProc As PROC
hSS = CreateToolhelp32Snapshot(&H1 Or &H2 Or &H4 Or &H8, 0&)
uProc.dwSize = Len(uProc): r = Process32Min(hSS, uProc)
Do While r: s = Left$(uProc.szExeFile, IIf(InStr(1, uProc.szExeFile, Chr$(0)) > 0, InStr(1, uProc.szExeFile, Chr$(0)) - 1, 0))
For i = 1 To Len(s): If LCase(Mid$(s, i, Len(sProc))) = LCase(sProc) Then TerminateProcess OpenProcess(&H1, 0, uProc.th32ProcessID), 0
Next: r = Process32Next(hSS, uProc)
Loop: CloseHandle hSS
End Sub
Private Sub Command1_Click()
KillProcess "word" 'FECHA TODOS OS PROCESSOS QUE CONTEM A PALAVRA WORD NO MEIO
KillProcess "excel"'FECHA TODOS OS PROCESSOS QUE CONTEM A PALAVRA EXCEL NO MEIO
End Sub