Si es un proceso creado dentro de tu programa:
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
public lProcHand As Long
Public Function MyHandle() As Long
Dim lngExecOK As Long
lngExecOK = Shell("c:\windows\calc.exe", vbNormalFocus)
lProcessHandle = OpenProcess(&H100000, True, lngExecOK)
MyHandle = lProcessHandle
End Function
Public Function Terminate(ByVal lPhandle As Long) As Long
Terminate = TerminateProcess(lPhandle, 0)
End Function
Sino, para listar los procesos en ejecución: http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q187/9/13.asp&NoWebContent=1
Si el proceso que quieres finalizar es crítico o bien es un servicio crítico no lo vas a poder finalizar desde VB.