Yahoo Answers is shutting down on May 4th, 2021 (Eastern Time) and the Yahoo Answers website is now in read-only mode. There will be no changes to other Yahoo properties or services, or your Yahoo account. You can find more information about the Yahoo Answers shutdown and how to download your data on this help page.

How to terminate a process through vb6 code?

3 Answers

  • Anonymous
    1 decade ago
    Favorite Answer

    Public Sub KillProcess(byval processName as string)

    On Error GoTo ErrHandler

    Dim oWMI

    Dim ret

    Dim sService

    Dim oWMIServices

    Dim oWMIService

    Dim oServices

    Dim oService

    Dim servicename

    Set oWMI = GetObject("winmgmts:")

    Set oServices = oWMI.InstancesOf("win32_process")

    For Each oService In oServices

    serviceame = LCase(Trim(CStr(oService.Name) & ""))

    If InStr(1, servicename, LCase(processName), vbTextCompare) > 0 Then

    ret = oService.Terminate

    End If


    Set oServices = Nothing

    Set oWMI = Nothing



    End Sub

    KillProcess "excel"

  • 1 decade ago

    Find a sample code below. You can visit the site for further clarification.



    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


    Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, _

    ByVal blnheritHandle As Long, ByVal dwAppProcessId As Long) As Long

    Declare Function ProcessFirst Lib "kernel32.dll" Alias "Process32First" (ByVal hSnapshot As Long, _

    uProcess As PROCESSENTRY32) As Long

    Declare Function ProcessNext Lib "kernel32.dll" Alias "Process32Next" (ByVal hSnapshot As Long, _

    uProcess As PROCESSENTRY32) As Long

    Declare Function CreateToolhelpSnapshot Lib "kernel32.dll" Alias "CreateToolhelp32Snapshot" ( _

    ByVal lFlags As Long, lProcessID As Long) As Long

    Declare Function TerminateProcess Lib "kernel32.dll" (ByVal ApphProcess As Long, _

    ByVal uExitCode As Long) As Long

    Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long



    Public Sub KillProcess(NameProcess As String)


    Const TH32CS_SNAPPROCESS As Long = 2&

    Dim uProcess As PROCESSENTRY32

    Dim RProcessFound As Long

    Dim hSnapshot As Long

    Dim SzExename As String

    Dim ExitCode As Long

    Dim MyProcess As Long

    Dim AppKill As Boolean

    Dim AppCount As Integer

    Dim i As Integer

    Dim WinDirEnv As String

    If NameProcess <> "" Then

    AppCount = 0

    uProcess.dwSize = Len(uProcess)

    hSnapshot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)

    RProcessFound = ProcessFirst(hSnapshot, uProcess)


    i = InStr(1, uProcess.szexeFile, Chr(0))

    SzExename = LCase$(Left$(uProcess.szexeFile, i - 1))

    WinDirEnv = Environ("Windir") + "\"

    WinDirEnv = LCase$(WinDirEnv)

    If Right$(SzExename, Len(NameProcess)) = LCase$(NameProcess) Then

    AppCount = AppCount + 1

    MyProcess = OpenProcess(PROCESS_ALL_ACCESS, False, uProcess.th32ProcessID)

    AppKill = TerminateProcess(MyProcess, ExitCode)

    Call CloseHandle(MyProcess)

    End If

    RProcessFound = ProcessNext(hSnapshot, uProcess)

    Loop While RProcessFound

    Call CloseHandle(hSnapshot)

    End If

    End Sub

  • 1 decade ago

    use Ctrl + Pause/Break

Still have questions? Get your answers by asking now.